appium+python+android+HTMLTestRunner使用过程中的问题
1:问:appium客户端刚发布了一版新的,我想升级可以吗?
答:建议对于刚发布的新版本不要立即升级,因为客户端每升级一版它肯定会去增加和删减一些语句。所以不建议立即升级。
应该先采取调研的态度看看哪些会影响到你们自己的case,然后再决定是否升级。
2:问:appium为什么老是提示错误呢?
答:appium客户端提示错误的时候,希望重新走一遍流程。
1:启动appium客户端
2:手机数据线连接电脑,直至手机上出现允许该电脑调试手机,点击确定即可.(如果一直没有出现,可通过关闭usb调试之后连接数据线重新开启)
3:开启appium
4: 运行case
3: 问:appium中如何判断元素是否存在呢?
答:appium中支持的语法有find_elements_by_id("XXXX"),该语法是用来查找当前页面符合这个名字(XXXX)id的元素并返回一个list列表,如果不存在时,返回[]
len(find_elements_by_id("XXXX")),则该语法就会给出上述列表总共有几个元素
接下来就是重点了:
if len(find_elements_by_id("XXXX")) != 0:
print "该元素存在"
if len(find_elements_by_id("XXXX")) == 0:
print "该元素不存在"
4:问:对同一个页面中两个相同id,相同name的元素如何进行点击呢?
答:e1 == find_elements_by_id("XXXX")
e1[0].click() //对第一个元素进行点击,第一个元素必然是以0开始的
e1[0].click() //对第二个元素进行点击
5:问:我在pycharm中运行的测试案例顺序与我添加到测试套件的顺序不一致&没有HTMLTestRunner测试报告生成?
答:pycharm中运行分为以下两种情况,第一种是在python自带的框架中运行,不会走if __name__ == '__main__'以下的代码块,故此运行case的顺序和你自己添加的case顺序当然就不一样啦!并且该种情况也就不会再生成测试报告啦!
所以我一般推荐下面第二种运行方法。直接运行当前py文件。

6.问:我的测试案例运行过程中报错?
答:查看自己编写的代码块中是否存在冒号:
若存在推荐都替换为_即可。冒号是在函数下不被允许的。
检查自己的路径填写方向是否有错(特别是/的方向啊,从windows路径直接复制过来的路径斜线方向是反的),正确的如下:
7:问:我的测试报告一直报错'ascii' codec can't decode byte 0xe9 in position 775: ordinal not in range(128)?
答:python版本是2.7,故此往case头加入以下三句,问题完美解决。
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
appium+python+android+HTMLTestRunner使用过程中的问题的更多相关文章
- Android ListView滑动过程中图片显示重复错乱闪烁问题解决
最新内容建议直接访问原文:Android ListView滑动过程中图片显示重复错乱闪烁问题解决 主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及L ...
- Android Studio使用过程中常见问题及解决方案
熟悉Android的童鞋应该对Android Studio都不陌生.Android编程有两个常用的开发环境,分别是Android Studio和Eclipse,之前使用比较多的是Eclipse,而现在 ...
- Android APP 调试过程中遇到的问题。
调试过过程中APP安装完启动后有的时候会异常退出,报这个错误.有的时候可以直接启动.查找不到原因.网上说把commit方法替换成commitAllowingStateLoss() 也无效. Andro ...
- Android Studio 调试过程中快捷查看断点处变量值(Ctrl+Shift+I无效)?
当你在做Keymap到Eclipse后,在debug过程中,在Eclipse中我们很喜欢用Ctrl+Shift+I去查看一个运算或者调用的结果,这样用起来很方便.但是keymap到Eclipse后,你 ...
- Android音视频通话过程中最小化成悬浮框的实现(类似Android8.0画中画效果)
关于音视频通话过程中最小化成悬浮框这个功能的实现,网络上类似的文章很多,但是好像还没看到解释的较为清晰的,这里因为项目需要实现了这样的一个功能,今天我把它记录下来,一方面为了以后用到便于自己查阅,一方 ...
- 记录下通过Java代码打开cmd启动appium server及在使用过程中碰到的问题
1.appium server启动后,执行测试脚本,appium日志报错,提示appium setting未安装(原因是小米手机在用appium desktop调试时总是提示是否安装appium se ...
- [持续更新] Python学习、使用过程中遇见的非代码层面知识(想不到更好的标题了 T_T)
写在前面: 这篇博文记录的不是python代码.数据结构.算法相关的内容,而是在学习.使用过程中遇见的一些没有技术含量,但有时很令人抓耳挠腮的小东西.比如:python内置库怎么看.python搜索模 ...
- android recovery升级过程中掉电处理
一般在升级过程,都会提示用户,请勿断电,不管是android的STB,TV还是PHONE,或者是其他的终端设备,升级过程,基本上都可以看到“正在升级,请勿断电”,然后有个进度条,显示升级的进度. 但是 ...
- Ubuntu编译Android源码过程中的空间不足解决方法
Android源码一般几十G,就拿Android5.0来说,下载下来大概也有44G左右,和编译产生的文件以及Ubuntu系统占用的空间加起来,源码双倍的空间都不够有.编译源码前能分配足够的空间再好不过 ...
随机推荐
- 纯c中声明变量
count 声明位置错了,纯c中声明变量全部放在main函数里,最前面的位置,要么vc6.0会报错: 修改 #include <stdio.h> int main(void) { int ...
- linux高级技巧:heartbeat+lvs
linux高级技巧:heartbeat+lvs Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 He ...
- Java-Base64工具类
/* * Base64 encoding and decoding. * Copyright (C) 2001-2004 Stephen Ostermiller * http://ostermille ...
- Hadoop-No.8之时间戳
要获得良好的HBase的模式设计,要正确的理解和使用时间错.在HBase中,时间戳的作用如下所述. 时间戳决定了在put请求修改记录时那些记录更新 时间戳决定了一条记录的多个版本在返回时的排序 时间戳 ...
- maven项目启动找不到org.springframework.web.context.ContextLoaderListener
解决方法: 1. 右键单击工程项目 ->点击 properties2. 选择 Deployment Assembly3. 点击 Add -> Java Build Path Entries ...
- codeforces402B
Trees in a Row CodeForces - 402B The Queen of England has n trees growing in a row in her garden. At ...
- 十大免费SSL证书:网站免费添加HTTPS加密
SSL证书,用于加密HTTP协议,也就是HTTPS.随着淘宝.百度等网站纷纷实现全站Https加密访问,搜索引擎对于Https更加友好,加上互联网上越来越多的人重视隐私安全,站长们给网站添加SSL证书 ...
- 本地创建的项目使用版本管理(git)推送至远端。
1.创建项目 mkdir nidexiangmu cd nidexiangmu touch README.md 2.使用 git 命令管理 git init // 建立本地仓库 git add . / ...
- JavaScript 实现文件下载并重命名
第一种是HTML官网中的方法<a href="/images/liang.jpg" download="文件名称">HTML5 中 a 标签提供了一 ...
- Vue_(组件通讯)父组件向子组件传值
Vue组件 传送门 父组件向子组件传值:父组件通过属性向下传值的方式和子组件通信: 使用步骤: 1.定义组件:现有自定义组件com-a.com-b,com-a是com-b的父组件 2.准备获取数据:c ...