在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点击搜索按钮,进入搜索页面 2.然后定位到搜索框后用sendkeys方法输入“hao”,这里定位元素用上一篇所说的就能搞定 3.脚本如下图 二.运行脚本 1.首先要确认手机上的输入法是用什么输入法,如果默认是中文的输入法,启动后会出现下面的情况,无法输入成功(手机截得图,可能美观度不太好~) 2.于是可以先把手机上的输入法…
最近工作中想要做自动化回归测试,想法是将每个测试用例都做自动截图,然后将最近的稳定版本和当前测试的版本的两张截图去对比,也要将两个版本的截图都放到测试报告中方便人工来进行验证.最初想法是通过HTMLTestRunner生成带截图的测试报告,但是HTMLTestRunner本身没有截图功能,还有它不支持python 3,所以另外找了其他的工具来做这件事. 生成测试报告工具简介 HtmlTestRunner是将单元测试的结果保存为html格式的测试报告的工具,这个工具的功能和HTMLTestRunn…
ps: 对于环境安装可能会碰到各种问题,还是要一一解决. 执行: appium-doctor 显示上边界面说明,环境已完成. 同时将手机连接主机(用数据线) ^_^ 执行 adb devices 显示 device 编号信息,说明连接成功. 以上说明环境安装部分. 1.Appium配置 打开 "Appium" 工具 ,打开 “Android”小图标(1) A:在 "choose" 选择本地apk地址,选择后,重新点开图标后看到相关的信息. B: 在 (2)处,dev…
简介 前面课程只是启动了单个appium服务,只能控制单台设备.如果需要针对多台设备测试那么该如何处理?而且发现群里的小伙伴们也在时不时地在讨论这个问题,想知道怎么实现的,于是宏哥就决定写一片这样的文章来给小伙伴们,答答疑,解解惑.希望对各位小伙伴或者童鞋们有所帮助,可以是你们豁然开朗. 启动多个appium服务 首先看下面两个启动appium服务案例. 启动appium服务1 启动appium 服务2 上面案例我们启动了2个不同的appium服务器,他们通过不同的端口来区分不同的服务:如同百米…
简介 本篇文章主要介绍了python中yaml配置文件模块的使用让其完成数据和代码的分离,宏哥觉得挺不错的,于是就义无反顾地分享给大家,也给大家做个参考.一起跟随宏哥过来看看吧. 思考问题 前面我们配置Capability时,各个参数都是在代码里面写死的,比如:desired_caps['platformVersion']='5.1.1' 一旦设备和测试的app发生改变则需要去代码里面一个个修改,要么同时根据不同设备不同App来维护多套代码,这样显示是不符合规范而且是低效的!违背了自动化的初衷,…
简介 经过一段时间的准备,完善的差不多了,继续分享有关Appium自动化测试框架综合实践.想必小伙伴们有点等不及了吧! driver配置封装 kyb_caps.yaml 配置表 参考代码 platformName: Android #模拟器 platformVersion: 5.1.1 deviceName: 127.0.0.1:62025 #mx4真机 #platformVersion: 5.1 #udid: 750BBKL22GDN #deviceName: MX4 appname: kao…
简介 江湖有言:”代码写死一时爽,框架重构火葬场“,更有人戏言:”代码动态一时爽,一直动态一直爽…
最近研究了一下Appium,查看了一些大神的博客,绕过了一些坑,现将从搭建环境到运行真机测试的流程总结如下: 一.搭建环境,这里我参考了虫师的博客,一步一步来,搭好了Appium的环境,如果需要真机测试,android模拟器及以后的部分不用安装,链接如下: http://www.cnblogs.com/fnng/p/4540731.html http://www.cnblogs.com/fnng/p/4552438.html 注:以上的东西做完之后,需要在环境变量中添加(安装路径)C:\Prog…
简介 生活中的日志是记录你生活的点点滴滴,让它把你内心的世界表露出来,更好的诠释自己的内心世界,而电脑里的日志是有价值的信息宝库. 日志文件是专门用于记录系统操作事件的记录文件或文件集合,操作系统有操作系统日志文件,数据库系统有数据库系统日志文件,等等. 系统日志文件是包含关于系统消息的文件,包括内核.服务.在系统上运行的应用程序等.不同的日志文件记载不同的信息.例如,有的是默认的系统日志文件,有的记载特定任务. 在数据库中用事务日志文件记录数据的修改操作,其中的每条日志记录或者记录所执行的逻辑…
一,函数调用 定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构. 这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行. 如下实例调用了printme()函数: #!/usr/bin/python # Function definition is here def printme( str ): "打印任何传入的字符串" print str; return; # Now you can call printme functio…