Appium

lynnetest 2018-11-01 原文

Appium

一、Appium介绍

https://testerhome.com/topics/11318

整个UI自动化实现:定位元素》利用appium提供的API进行流程操作》利用unittest进行断言》利用TestHTMLReport生成测试报告

二、Appium遇到的坑

全的元素定位不到 

解决办法:封装swipe方法,滑动屏幕直到找到某元素

def SwipeUntilElementAppear(self,i,ele):
# 获取屏幕宽高:
width = self.driver.get_window_size()[‘width’]
height = self.driver.get_window_size()[‘height’]
j=0
while j < i:
try:
self.driver.find_element_by_xpath(ele).click()
break
except Exception as e:
self.driver.swipe(width / 2, height * 0.5, width / 2, height * 0.1) # 滑动屏幕
time.sleep(2)
j = j+1

 

6.:className不允许使用复合类名做参数

解决办法:

真实环境中元素往往使用复合类名(即多个class用空格分隔),使用className定位时要注意了,className的参数只能是一个class。
  例如,打开http://hao.360.cn/,我们要使用className定位这个元素
<a class=”tab-item news” data-page=”http://sh.qihoo.com/daohang/index1.html”; hidefocus=”false”href=”./brother.html#!news”>新闻头条</a>
  1)执行driver.findElements(by.className(“news”)),成功定位到元素
  2)执行driver.findElements(by.className(“tab-item news”)),定位失败,报错信息:Compound class names not permitted,意思是不允许使用复合类名称

 

7.:以下html用classname定位不到

解决方法:用xpath定位

 

8.:用class定位多个元素时,提示权限问题

解决办法:改用css定位可解决

 

9.:接入HtmlTestRunner,直接点右键运行结束后没有报异常,但就是没有生成测试报告

解决办法:因为点右键运行或点右上角的运行按钮或ctrl+shift+F10都运行的是编译器自带的unittest in xxx.py,所以需要按Alt+shift+F10,选择xxx来运行,这样就是从自己的main入口开始执行

 

10.:appium server和uiautomatorview不能同时打开

 

11.:导入信用卡很慢

解决办法:暂无

 

12.:定位不准,导信用卡  self.driver.find_element_by_xpath(“//android.widget.EditText[@text=’用户名’]”).send_keys(“wallisqq”) 有时定位到密码框

解决办法:暂无

 

13.:定位输入框,输入文本有时弹键盘,导致定位不到登录

解决办法:暂无

 

三、报告展示

四、思考

1.框架的结构做成哪样的比较好?

五、总结

遇到坑很痛苦,但只要把这些坑各个击破,把贷超的UI自动化写起来是很快的,半天足以,所以就是贷超改版,花点时间改改弄个回归自动化,还是省时省力的

posted on 2018-11-01 12:41 Lynne~ 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为lynnetest原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lynnetest/p/9888599.html

Appium的更多相关文章

  1. Appium

    appium的安装 官网:http://appium.io 下载地址:https://github.com/a […]...

  2. python uiautomator,比 appium 更简单的 app 测试工具

    1,场景 在 app 测试的蛮荒时代,如果要进行 app 自动化测试非常麻烦。张大胖如果想做安卓自动化测试,首 […]...

  3. Appium常用的3种元素定位方式

    ...

  4. Java&Selenium&TestNG&ZTestReport 自动化测试并生成HTML自动化测试报告

    Java&Selenium&TestNG&ZTestReport 自动化测试并生成HT […]...

  5. Appium 环境配置

    前言   Appium 作为移动端自动化测试工具在业界非常流行,特别是在当前移动互联网背景下,很多公司基于此框 […]...

  6. unittest和requests重构、封装处理get/post请求

    unittest和requests重构、封装处理get/post请求 1、概念说明 ① unittest:py […]...

  7. python2.7 + Appium 实现安卓爬虫 遇到的问题

    1.python2.7不能下载 Appium Python Client pip install Appium […]...

  8. appium desktop 定位h5+APP弹框元素时 元素位置偏离

    404...

随机推荐

  1. C语言atoi函数

    目录 1、包含头文件 2、函数声明 3、功能说明 4、示例 5、其它说明 6、版权声明 C语言提供了一系列函数 […]...

  2. 概率统计——期望、方差与最小二乘法

    本文始发于个人公众号:TechFlow 今天这篇文章和大家聊聊期望和方差。 期望 期望这个概念我们很早就在课本 […]...

  3. 机器学习- RNN以及LSTM的原理分析

    概述 RNN是递归神经网络,它提供了一种解决深度学习的另一个思路,那就是每一步的输出不仅仅跟当前这一步的输入有 […]...

  4. Java用户名登录学生信息管理系统并对其进行增删改查操作

    package zzzzzzzz; import java.io.*;//作者:凯鲁嘎吉 - 博客园//htt […]...

  5. 逆向工具/反编译工具 集合

    目录 Java & Jar (Android) C++ & So (Android) C# & […]...

  6. markdown的骚气操作(一)

    markdown 系列其他内容   markdown的骚气操作(一)✓   latex的骚气操作(二) 本文目 […]...

  7. Unity 游戏框架:资源管理神器 ResKit

    此篇文章准备了将近两周的时间,写了改,改了删。之前有朋友反馈,上一个文章太冗长了,影响阅读体验,这一讲就走个精 […]...

  8. vuex的使用

    vuex说白了就是vue中的数据管理仓库,为开发者的数据操作,例如购物车类似的操作,带来了极大的便捷,最近也在 […]...

展开目录

目录导航