快乐学习
前程无忧、中华英才非你莫属!

三行代码搞定移动端自动化EXCEL数据驱动测试

一、前言
最近开始鼓捣Appium的ios相关api方法,ios 和android的方法还是略有不同,在加上环境不同,难以实现一套api代码来实现跨平台的自动化测试。关键是跑IOS自动化,得要苹果系统,各种开发的签名证书,xcode编译,想想都比较恐怖,只能求助开发,或者学些xcode使用的方法,证书编译的和安装。没毛病~。
自古以来总结一句话:不管你是做哪个IT行业,围绕我们的都是恼人的各种环境的不兼容,报错,内存溢出、哇哇、运行错误只能抓头发。
期初有两个想法、自己利用poi 来实现把excle的数据,读过来放到appium的方法中。感觉代码写的一箩筐,不够优雅!跟TestNg做整合也比较麻烦。上git上搜搜,看看有木有增强TestNG的插件。
不搜不知道,一搜吓一跳,确实看中了一款,利用注解可以实现TestNg注解读取Excel,代码个人感觉写的比较优雅。总觉得appium客户端的Driver 太多。这里统一封装个超级Driver和常用Action动作的方法,常用的滑动,缩放、点击、等方法,进行封装。最后谁说Java代码比较啰嗦。不算注释和注解的行数,还是以3行代码搞定移动端的数据驱动自动化测试。
@XlsDataSourceParameters   excel注解式数据驱动 git 开源地址:https://github.com/qaprosoft/carina
二、appium4.xlsx,执行文件
Driver 启动参数化待定。
动作描述:打开手机浏览器原生app,发起URL请求访问百度,切换到WEBViEW视图。然后定位百度搜索框和百度一下按钮的 xpath定位值并通过定位输入java之后点击确认安按钮,在搜索的结果 页,验证是否包含java关键字。
参数:TUID :用例的id。pos:定位方式。(如没有定位则填无) posval:定位元素的值和路径。   action:具体的动作 。   input:动作输入数据(如sendkeys的动作就需要数据,其他动作可填无)
Execute
TUID
pos
posval
action
input
Y
CLC0001
打开URL&切换WEBVIEW
Y
CLC0002
XPath
//*[@id=’index-kw’]&//*[@id=’index-bn’]
输入&点击
java
三、maven项目jar包引入
这个哥们,引入了好多jar包,可能会跟自己的appium冲突,要做好<exclusions>排重。
<dependency>
    <groupId>com.qaprosoft</groupId>
    <artifactId>carina-core</artifactId>
    <version>LATEST</version>
</dependency>
四、使用方法
1、建一个类继承至AbstractTest
public class DataprovidersSampleTest extends AbstractTest {
2、把这三个注解写在要执行的方法的头部,这个增强注解,是基于TestNg的,所以要先装好TestNG,才能执行哦~。
@Test(dataProvider = “SingleDataProvider”, description = “JIRA#DEMO-0009”)
@MethodOwner(owner = “qpsdemo”)
@XlsDataSourceParameters(path = “xls/appium4.xlsx”, sheet = “Calculator”, dsUid = “TUID”, dsArgs = “pos,posval,action,input,ret”)
@XlsDataSourceParameters  是作者实现Excel数据与TestNG交互的一个核心注解。
path:是本地excle的路径。   sheet:是excle中的要执行的sheet名称。 dsUid  :用户执行的id。  
重点参数:dsArgs   (“pos,posval,action,input,ret”)  这个是参数的名字,一定要跟Excel 数据文件里面表头的字段名字一一对应。
appium4.xlsx
五、运行结果
结尾:
自己目前封装的方法,比较粗糙,待整理一番,在开源出来哈。
您的分享转发就是我开源的动力~
有任何疑问欢迎留言在博客下方或者搜索Appium百度贴吧,进行留言!
打赏

未经允许不得转载:同乐学堂 » 三行代码搞定移动端自动化EXCEL数据驱动测试

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

特别的技术,给特别的你!

联系QQ:1071235258QQ群:226134712
error: Sorry,暂时内容不可复制!