欢迎您,来到宝宝家园!

宝宝家园首页|手机版

备孕经验-怀孕注意事项-产后恢复-婴幼儿早教

当前位置:首页 > 孕期

python android ui测试,android ui自动化测试

时间:2023-02-13 19:29:55 编辑:好孕妈妈

正如我之前写的,现在大多数公司的测试相关职位似乎只有测试开发和测试工程师两种,但很少听说自动化测试工程师这个职位。 由于目前对测试的要求越来越高,测试开发所需的技能几乎与其他常规开发岗位相同,能够自动化测试已成为测试工程师的基本要求。 本编使用pytest UIautomator2框架实现安卓平台的ui自动化测试。 在本文中,可以很容易地实现自动化Android UI的小demo。 关于更深层的使用方法,还有其他的报道,在此进行介绍。 由于本文面向的是还无法自动化测试的测试工程师,因此默认情况下对移动端测试和Android手机调试具有基本知识(如开发者模式、adb命令等)。 同时你应该已经有一些Python语言的基础。 如果你还不了解Python语言,请先通过几个教程学习关于Python的基础知识。 希望通过本文和之后的相关报道,能给想了解自动化测试的测试工程师朋友们带来一点成果。

python android ui测试,android ui自动化测试

构建环境首先安装Python3。 你可以在官网上下载安装自己的电脑对应系统平台的安装包。 请安装Python 3.6或更高版本。 然后,选择自己喜欢的代码编辑器。 Visual Studio Code和PyCharm非常推荐。 PyCharm可以使用免费的社区版。 社区版已经足够我们使用了。 然后,使用以下命令安装用于自动化项目的Python库——pytest和uiautomator2

pipinstallpytestpipinstalluiautomator 2如果你的电脑上安装了Python2和Python3两个版本的Python,可以用pip3安装。 接下来,请确保手机处于开发者模式,并允许调试,然后将手机连接到电脑上。 可以使用` adb devices `查看连接到电脑的手机列表。 手机连接后,运行以下代码初始化相关服务。 在这个过程中,在连接的手机上安装两个app。

定位python3 -m uiautomator2 init元素您可以使用Android SDK附带的uiautomatorviewer定位元素,也可以使用weditor。 在这两种情况下,weditor都更易于使用,特别是在使用UIautomator2实现ui自动化时。 通过运行以下命令安装weditor

pip install weditor==0.6.4直接安装weditor的最新版本可能会导致安装失败。 尝试0.6.4版可以成功安装。 安装完成后,在命令行中运行

在python -m weditor中运行以上命令将在浏览器中打开以下页面

weditor将打开默认界面

在页面左上方的输入框中输入当前连接的设备的序列号,然后单击Connect按钮。 连接成功后,单击" Dump Hierarchy "按钮,左侧会显示手机的当前接口。 用鼠标单击要识别的要素,该要素的id、坐标等信息显示在中间,并直接给出相应的XPath表达式,因此容易找到要素。

weditor选择元素

命名代码测试文件、测试类和测试方法

必须以test_*.py或*_test.py格式命名pytest测试文件。 只有以这种格式命名的文件才会被识别为测试文件。 pyTest测试类要以test开始,pyTest测试方法或测试函数必须以test_开始。 只有满足此规则的测试用例才会被pytest识别为自动化测试用例。 创建demo。 创建my_first_test.py文件并写入以下内容:

importtimeimportpytestimportuiautomator2as U2 classtestexample:@ py test.fixture ( scope=' class ' ) defdriver(self ):d 驱动程序( driver.app _ start ( com.Android.bbk calculator ) )驱动程序( resourceid=' com.Android.bbk calculator ) )。 resourceid ( resourceid=' com.Android.bbk calculator:id/plus ' ).click ) driver ) resourceid=' com.Android.bk cold equal ' ).click ) time.sleep(1) result=driver ) ( resourrator ) )。 edit_result_text ' ).get_text(assertresult=='2)上面的代码是操作手机打开计算机,单击各个计算机,选择"1"、"、"1"、"、" 通常,可以看到连接的手机自动打开计算机,完成1(1) 2的加法运算。 代码分析上述代码的前三行导入了关联依赖包,第六行创建了测试类“TestExample”。 第7-10行的driver方法实现连接手机,电脑连接一部手机时,无需传递任何参数。 电脑连接多台手机时,需要传递运行手机的device id。 如果不传递,默认情况下会选择devices list中的第一部手机。 第七行代码表示driver方法是pytest的fixture方法,其范围为class,在调用该方法时,将在运行整个测试类之前执行一次。 第12-20行是我们的测试用例,第12行将driver函数作为参数传递并调用了fixture函数,因此在运行测试前,请执行driver方法连接手机,test_of_add方法为U2.com 第13行代码实现启动安装包com.android.bbkcalculator,即开启计算器,第14-17行控制手机实现计算1=的操作。 第19行获取计算结果。 我们在这一行前面的第18行添加了等待,以避免程序运行太快,从而在没有显示结果时获取结果并断言失败。 第20行是断言计算结果是否为“2”,在此需要注意获得的result是字符串,不能直接断言result==2。 根据品牌的不同,安卓手机会附带计算器软件,所以试着用weditor来寻找自己手机计算器软件上的要素吧。 查看中间部分*package上显示的套餐名称和计算器按钮的id是否与代码一致,如果不一致,可以修改为与自己手机计算器的套餐名称对应的元素公式。

后来看完上述文章后,大家应该已经可以自己轻松地写demo了。 稍后我们将更深入地讨论pytest和uiautomator2的使用。

猜你喜欢

反馈