51Testing软件测试论坛

标题: 使用Robotframework+Appium实现的一个移动端用例 [打印本页]

作者: lsekfe    时间: 2021-8-16 10:59
标题: 使用Robotframework+Appium实现的一个移动端用例
 环境准备:
  真机或者模拟器 - 逍遥模拟器或者夜神模拟器
  如果是真机,直接usb连接到电脑,不同的手机要做一些usb连接设置,而且要打开开发者模式。
  逍遥模拟器设置:
  和手机操作类似,下拉找到【设置】-【关于平板电脑】,连续点击5次,即打开开发者模式;点击【开发者模式】,打开【USB调试】-【确定】
  确保网络和本机电脑在同一个网络下使用adb connect ip:port连接模拟器【adb安装看下面】,在逍遥模拟器上查找模拟器的ip方式如下:
[attach]133793[/attach]
[attach]133794[/attach]
然后执行下面命令
  1. C:\Users\Administrator>adb connect 192.168.1.88
  2.   connected to 192.168.1.88:5555
  3.   C:\Users\Administrator>adb devices
  4.   List of devices attached
  5.   192.168.1.88:5555 device
复制代码
JDK和SDK安装
[attach]133795[/attach]
Appium安装
 下载appium-desktop
  https://github.com/appium/appium-desktop/releases/tag/v1.15.1
  python安装库:pip install Appium-Python-Client
  测试用例详细过程
  1,打开模拟器,通过adb连接上模拟器。
  2,获取appPackage和appActivity值,这两个值在后面都有用,具体如何获取可以参考。 https://www.cnblogs.com/fnng/p/7350900.html

  使用adb logcat > D:/log.txt之后,打开app,做一些操作,然后打开log文件,搜索Displayed,找到下面一行
  1.  ActivityManager: Displayed com.power.xxducation/.MainActivity2: +358ms
  2.   appPackage = com.power.xxducation
  3.   appAcitivity = .MainActivity2
复制代码
3,桌面打开appium desktop
  因为在本机执行,不需要修改ip和port,直接运行server。
[attach]133796[/attach]
出现以下提示表示启动server成功,监听在本机的4723端口。
[attach]133797[/attach]
4, 打开ride,执行python ride.py即可打开,创建一个项目,项目得设置Directory和ROBOT。
[attach]133798[/attach]
5,右击项目,创建测试套件,设置File和TXT
[attach]133799[/attach]
6,右击测试套件,创建测试用例
[attach]133800[/attach]
7,可以在测试套件的设置中导入AppiumLibrary库
[attach]133801[/attach]
 如果出现红色,表示库不存在,可以执行下 python -m pip install robotframework-appiumlibrary
[attach]133802[/attach]
[attach]133803[/attach]
8,尝试用例第一步骤,在模拟器上打开app,使用Open Application关键字,当输入的关键字是蓝色,表示正确,后面的红色表示必填参数,灰色可不填,也可以加注释,以#开头。
[attach]133804[/attach]
在按F8执行的时候,提示:
  1. command: robot --argumentfile C:\Users\ADMINI~1\AppData\Local\Temp\RIDE687a1v9_.d\argfile.txt --listener "D:\Program Files (x86)\Python36\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py:4186:False" "D:\Program Files (x86)\Python36\Scripts\APPTest1"
  2.   [ ERROR ] Suite 'APPTest1' contains no tests matching name 'APPTest1.登录.有效手机号和密码' in suite 'APPTest1.登录'.
复制代码
创建suite的时候format默认是txt,在以前基于python2.x安装的RF可以使用txt格式。
  基于python3安装的RF需要在创建suite的时候format选择为robot,即可正常运行。
  因为运行模式由以前的pybot更改为了robot,所以需要更改为.robot格式。
  可以在【Tools】-【Preferences】把默认的文件格式修改为robot,这样以后新建suite就模式都是robot格式的了。
  9,元素查找和定位,设计用例步骤
  在安装完sdk之后,在目录.../sdk/tools下可以找到工具uiautomatorviewer.bat,打开它之后,然后点击上面的第二个图标,就可以把模拟器的当前画面显示出来(不能实时,每次变更画面要重新点击一次)。
  可以通过resource-id, id, class, xpath等多种方式定位元素
  10,开始实现登录测试用例
  Tips: 当你不记得关键字,可以按【F5】查找; 当你想补全关键字,可以在输入一部分之后,按住【Ctrl+Alt+空格】查看所有匹配的关键字。

[attach]133805[/attach]







欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2