简介 获取AppPackage和AppActivity 定位UI控件的工具 脚本结构 PageObject分层管理 HTMLTestRunner生成测试报告 启动appium server服务 以python文件模式执行脚本生成测试报告 下载与安装 下载需要自动化测试的App并安装到手机 获取AppPackage和AppActivity 参考:https://juejin.im/post/5c3809a451882524c84ebabe 最终,得到App的信息如下: appPackage:com…
为了多人之间更方便的协作,那么框架本身的结构和编写方式将变得很重要,因此每个团队都有适合自己的框架.如下本人对APP的UI自动化测试的框架进行进行了简单的汇总.主要目的是为了让团队中的其余人员接手写脚本时更清楚的知道该如何入手. 一个优秀的自动化测试框架应该具备的特点包括: 可扩展性:对新增功能模块.对不同的项目等等 易用性:易于查看,熟练或者新手都可以很快的对框架的结构进行掌握,可以很快的上手编写测试脚本等 稳定性.可维护性:不同的人均可对此框架进行补充封装,多人协作可将框架更好的进行完善 管…
问题描述:搭建接口测试框架,执行用例请求多个不同请求方式的接口 实现步骤: ① 创建配置文件config.ini,写入部分公用参数,如接口的基本url.测试报告文件路径.测试数据文件路径等配置项 [DATABASE] data_address = ./data/data.xlsx report_address = ./report/ driver = ./drivers/chromedriver.exe [HTTP] base_url = https://***.***.cn// ② 从配置文件…
1.单设备的执行很简单,平时可多见的是直接在config中进行配置并进行运行即可.如下: # coding=UTF- ''' Created on // @author: SYW ''' from Test.logs.logs import logging #自己封装的log打印方法 from appium import webdriver import unittest from time import sleep class Test_appium(unittest.TestCase): d…
目的: 通过添加设备号,则自动给添加的设备分配端口,启动对应的appium服务.注意:为了方便,将共用一个配置文件. 1.公共的配置文件名称:desired_caps.yaml platformVersion: platformName: Android deviceName: oppo appPackage: com.iBer.iBerAppV2 appActivity: com.iBer.iBerAppV2.MainActivity #appPackage: com.android.mms…
脚本的使用,注释非常关键,无论自己的后期查看还是别人使用,都可以通过注释很明确的知道代码所表达的意思,明确的知道如何调用方法等等.每个团队均有不同的商定形式来写脚本,因此没有明确的要求和规范来约束.如下将介绍我们的测试脚本编写规范主要集中的几个方面: 1.方法的命名2.脚本的注释3.方法的解释与调用注意事项 #---接口层:脚本解释命名规范如下 def test(self,element): ''' :method explain: - 此方法的解释 :ndertake method: - 此方…
环境搭建 python3Java JDK.netFrameworknodejsandroid SDKappiumAppium-Python-Client(pip install Appium-Python-Client) 连接设备 cmd打开命令行窗口输入adb connect 127.0.0.1:62001连接模拟器输入adb shell dumpsys window windows | findstr "Current"获取当前包名启动appium 常用元素定位driver.fin…
优秀的脚本调试定位问题具备的特点: 1.方便调试. 2.运行报错后容易定位出现的问题. 3.日志的记录清晰 4.日志可被存储,一般测试结果的分析在测试之后会进行,那么日志的存储将会为后期的分析问题带来很大的便利 ...等等 怎么调试自己写的脚本?通过什么方式进行才可确定自己写的脚本健壮性较好? 1.常见的方式,编写边调试,首先确定自己开始写的脚本语句是没有问题的. 2.出现报错时根据报错信息,新增print '***********'等调试语句,通过打印,可快速定位脚本执行到哪一步未正常执行出现…
我自己编写的脚本框架中,所有的脚本执行均放在一个py文件中,此文件作为启动文件执行,包含了运行此文件将执行脚本.分配设备端口.自启appium服务等. 详细的介绍待后期补充.…
学习了Appium python项目施展的课程小伙伴都会有一个疑问,说现在所有的case都是通过一个suite进行一个方法一个方法进行添加的,但是在实际过程中我们不希望这样,我们做出来的功能是这样: suite = unittest.TestSuite() suite.addTest(CaseTest("test_02",parame=i)) unittest.TextTestRunner().run(suite) 这个是我们现在做的现状,但是我们希望的是: discover = un…