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使用过程中的问题的更多相关文章

  1. Android ListView滑动过程中图片显示重复错乱闪烁问题解决

    最新内容建议直接访问原文:Android ListView滑动过程中图片显示重复错乱闪烁问题解决 主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及L ...

  2. Android Studio使用过程中常见问题及解决方案

    熟悉Android的童鞋应该对Android Studio都不陌生.Android编程有两个常用的开发环境,分别是Android Studio和Eclipse,之前使用比较多的是Eclipse,而现在 ...

  3. Android APP 调试过程中遇到的问题。

    调试过过程中APP安装完启动后有的时候会异常退出,报这个错误.有的时候可以直接启动.查找不到原因.网上说把commit方法替换成commitAllowingStateLoss() 也无效. Andro ...

  4. Android Studio 调试过程中快捷查看断点处变量值(Ctrl+Shift+I无效)?

    当你在做Keymap到Eclipse后,在debug过程中,在Eclipse中我们很喜欢用Ctrl+Shift+I去查看一个运算或者调用的结果,这样用起来很方便.但是keymap到Eclipse后,你 ...

  5. Android音视频通话过程中最小化成悬浮框的实现(类似Android8.0画中画效果)

    关于音视频通话过程中最小化成悬浮框这个功能的实现,网络上类似的文章很多,但是好像还没看到解释的较为清晰的,这里因为项目需要实现了这样的一个功能,今天我把它记录下来,一方面为了以后用到便于自己查阅,一方 ...

  6. 记录下通过Java代码打开cmd启动appium server及在使用过程中碰到的问题

    1.appium server启动后,执行测试脚本,appium日志报错,提示appium setting未安装(原因是小米手机在用appium desktop调试时总是提示是否安装appium se ...

  7. [持续更新] Python学习、使用过程中遇见的非代码层面知识(想不到更好的标题了 T_T)

    写在前面: 这篇博文记录的不是python代码.数据结构.算法相关的内容,而是在学习.使用过程中遇见的一些没有技术含量,但有时很令人抓耳挠腮的小东西.比如:python内置库怎么看.python搜索模 ...

  8. android recovery升级过程中掉电处理

    一般在升级过程,都会提示用户,请勿断电,不管是android的STB,TV还是PHONE,或者是其他的终端设备,升级过程,基本上都可以看到“正在升级,请勿断电”,然后有个进度条,显示升级的进度. 但是 ...

  9. Ubuntu编译Android源码过程中的空间不足解决方法

    Android源码一般几十G,就拿Android5.0来说,下载下来大概也有44G左右,和编译产生的文件以及Ubuntu系统占用的空间加起来,源码双倍的空间都不够有.编译源码前能分配足够的空间再好不过 ...

随机推荐

  1. Linux之yum软件管理

    YUM yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题. 它能便于管理大量系统的更新问题 yum特点 *可以 ...

  2. 题解 【NOIP2016】组合数问题

    [NOIP2016]组合数问题 Description Input 第一行有两个整数t, k,其中t代表该测试点总共有多少组测试数据,k的意义见[问题描述]. 接下来t行每行两个整数n, m,其中n, ...

  3. Codeforces Round #451 (Div. 2) [ D. Alarm Clock ] [ E. Squares and not squares ] [ F. Restoring the Expression ]

    PROBLEM D. Alarm Clock 题 OvO http://codeforces.com/contest/898/problem/D codeforces 898d 解 从前往后枚举,放进 ...

  4. swagger2 常用注解说明

    常用到的注解有: Api ApiModel ApiModelProperty ApiOperation ApiParam ApiResponse ApiResponses ResponseHeader ...

  5. luogu 1593 因子和 约数+线性筛

    等比数列那里忘判项数等于 $1$ 的情况了. Code: #include <cstdio> #include <vector> #include <algorithm& ...

  6. 【UOJ#228】 基础数据结构练习题

    题目描述 sylvia 是一个热爱学习的女孩子,今天她想要学习数据结构技巧. 在看了一些博客学了一些姿势后,她想要找一些数据结构题来练练手.于是她的好朋友九条可怜酱给她出了一道题. 给出一个长度为 n ...

  7. “美登杯”上海市高校大学生程序设计邀请赛 (华东理工大学) E 小花梨的数组 线段树

    题意 分析 预处理出每个数的最小素因子,首先可以知道\(minprime(x*minprime(x))=minprime(x)\),我们用线段树维护区间最大值\(mx[p]\),注意这里的最大值并不是 ...

  8. Android 内存 - 获取单个应用内存限制

    方法一: adb shell getprop | grep dalvik.vm.heapgrowthlimit [dalvik.vm.heapgrowthlimit]: [64m] 方法二: Acti ...

  9. navicat连接oracle报错

    Navicat 连接 Oracle ORA-28547:connection to server failed, probable Oracle Net admin error Navicat for ...

  10. jQuery事件之一次性事件

    语法: $(selector).one(type, data, callback) 作用: (1)为每一个匹配元素的特定事件(比如click)绑定一个一次性的事件处理函数. (2)每个对象上,这个事件 ...