基于RobotFramework实现自动化测试

Java + robotframework + seleniumlibrary

  • 使用Robot Framework Maven Plugin(http://robotframework.org/MavenPlugin/)执行自动化测试
  • chromedriver下载: http://chromedriver.storage.googleapis.com/index.html
  • chromedriver和chrome版本对应关系:https://sites.google.com/a/chromium.org/chromedriver/downloads
  • chromedriver直接放到chrome所在目录
  • 插件执行,需要指定chromedriver位置
robotframework:run "-Dwebdriver.chrome.driver=C:\Program Files (x86)\Google\Chrome\Application/chromedriver.exe"
  • 参考完成例子:robotframework

Python + robotframework + appiumlibrary + Appium

1、安装python3.3+

2、安装robotframework

  • pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework

    3、app测试,安装robotframework-appiumlibrary

  • pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework-appiumlibrary

    4、测试用例操作图形界面,安装robotframework-ride

  • pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework-ride
  • 可创建快捷方式:ride.py
  • 4.1 File-New Project,选择类型Directory type, 选择Format ROBOT
  • 4.2 测试项目-New Suite,输入Name,选择类型File type,选择Format txt
  • 4.3 测试套件-New Test Case,输入Name
  • 4.4 导入测试库AppiumLibrary
  • 4.5 编写测试用例
  • 参考:https://www.cnblogs.com/tester-l/p/7994480.html

    5、web测试,安装robotframework-selenium2library

  • pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework-selenium2library

    6、安装Android SDK,Appium

  • https://www.cnblogs.com/feng0815/p/8179714.html
  • 6.1 安装Android SDK,需要在模拟器上运行apk文件 (http://tools.android-studio.org/index.php/sdk/)
  • 6.2 安装nodejs 官网(https://nodejs.org/en/download/)
  • 6.3 安装Appium Desktop(http://pan.baidu.com/s/1jGvAISu)
  • File -> New Session Window 创建Appium客户端,方便元素定位
    {"platformName": "Android","platformVersion": "4.4.2","deviceName": "127.0.0.1:62025","appPackage": "zz.dela.cmcc.traffic","appActivity": "zz.dela.cmcc.traffic.features.splash.view.SplashActivity","noReset": true}

7、安装夜神模拟器

  • 启动模拟器
  • adb devices 如果没有发现设备信息,将SDK目录下的adb.exe文件,复制到夜神模拟器的目录下,复制过去之后改名为nox_adb.exe,然后重启
  • 夜神模拟器设备信息为ip:port
  • 参考:https://jingyan.baidu.com/article/1e5468f9bb6ab9484961b707.html

    8、获取apk信息

  • 进入sdk\build-tools\版本号 的目录下,cmd命令:
  • ./aapt dump badging xxx.apk
  • 可以看到:package: name='zz.dela.cmcc.traffic'
  • launchable-activity: name='zz.dela.cmcc.traffic.features.splash.view.SplashActivity'

9、RIDE基本配置

  • https://www.cnblogs.com/lynn-li/p/6290268.html
   *** Test Cases 打开app应用***Case1Open Application    http://127.0.0.1:4723/wd/hub    platformName=Android    platformVersion=4.4.2    deviceName=127.0.0.1:62025    appPackage=zz.dela.cmcc.traffic    appActivity=zz.dela.cmcc.traffic.features.splash.view.SplashActivity      noReset=true

10、操作流程

  • 打开夜神多开器,创建模拟器,android版本为4,然后启动模拟器
    640632-20190811155102737-429800.png
  • 安装10086app
    640632-20190811155114652-990335444.png
  • 打开Appium,默认配置即可,直接启动(启动的是Appium服务端)
    640632-20190811155125735-730421375.png
  • 创建Appium客户端,填写模拟器设备名称(通过adb devices命令查看),apk包信息等,然后启动客户端
    640632-20190811155139660-620507272.png
    640632-20190811155145214-447359243.png
  • Appium客户端可以帮忙定位app页面上的元素信息
    640632-20190811155157829-823585249.png
  • 开启RIDE,编写测试脚本
    640632-20190811155206903-1420556848.png
    640632-20190811155219456-1587792479.png
  • 在RIDE执行Test Case,会生生测试报告
    640632-20190811155230851-1153433786.png
    640632-20190811155234946-514766568.png

转载于:https://www.cnblogs.com/hujunzheng/p/11335253.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot国际化信息(i18n)解析

国际化信息理解 国际化信息也称为本地化信息 。 Java 通过 java.util.Locale 类来表示本地化对象,它通过 “语言类型” 和 “国家/地区” 来创建一个确定的本地化对象 。举个例子吧,比如在发送一个具体的请求的时候,在header中设置一个键值对…

C语言一看就能上手的干货!你确定你不来看吗?

本地环境设置 如果您想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。 文本编辑器 这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。文本编辑器的名称…

10万码农五年的C语言笔记!你现在知道别人为什么这么优秀了吗?

c语言对许多同学来说确实是一门比较难学的课程,不仅抽象,而且繁琐,但这又是一门不得不学的课程。前两节可能还有兴致听一听,然而,再过几节课就是一脸蒙比。凭空要想出一道题的算法和程序,根本无从下手。 所…

C语言/C++编程学习:C语言环境设置!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言指针原来也可以这么的通俗易懂!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言过时了?你在做梦?

为什么要使用C语言? 在过去的四十年里,C语言已经成为世界上最流行、最重要的一种编程语言。 C是一种融合了控制特性的现代语言,而我们已发现在计算机科学的理论和实践中,控制特性是很重要的。其设计使得用户可以自然地采用自顶向…

C语言深入理解!助你向大佬迈进!

Dennis Ritchie 过世了,他发明了C语言,一个影响深远并彻底改变世界的计算机语言。一门经历40多年的到今天还长盛不衰的语言,今天很多语言都受到C的影响,C,Java,C#,Perl, PHP&#xf…

【初涉C语言】程序员欢迎来到C语言的世界!

计算机发展史 机器语言所有的代码里面只有0和1优点:直接对硬件产生作用,程序的执行效率非常高缺点:指令又多又难记、可读性差、无可移植性汇编语言符号化的机器语言,用一个符号(英文单词、数字)来代表一条…

C语言和C++的区别整理详解!

c和c主要区别 根据书中的描述,进行了整理 推荐一个我自己的C/C交流裙815393895 1、 源代码文件的扩展名 摘自1.4.1 C实现源代码文件的扩展名UNIXC、cc、cxx、cGNU CC、cc、cxx、cpp、cDigital Marscpp、cxxBorland CcppWatcomcppMicrosoft Visual Ccpp、cxx、cc…

揭示C语言函数调用的本质解析

C语言是面向过程的,而C++是面向对象的C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到…

C语言/C++编程学习:不找C/C++的工作也要学C/C++的原因

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

【网络攻防】精通C语言的黑客才是真正的黑客!

精通C语言的黑客才是真正的黑客 黑客界,有两样重要的课程,一是计算机的本质,二是编译原理。相对于汇编等底层语言,它简单;相对于其它高级语言,它更为接近计算机;同样它对黑客的两大课程很有帮助…

我两小时学完指针,你学会数组/指针与函数需要多久?

数组与函数: 这段函数中 函数的参数是数组,注意数组作为函数参数时,数组名和数组元素个数时分别传递的。 指针与函数: 这段函数中的参数是指针变量,传入的是数组的数组名或者首元素的地址,然后用引领操作…

C语言发展历史,C语言特点,C语言利于弊,入门须知三招

C语言是面向过程的,而C++是面向对象的 这些是C/C能做的 服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程…

程序员怎么看待C语言?最伟大?最落后?

一,前言 对我来说,C语言应该可以算得上是世界上最伟大的编程语言。全中国口气最大的程序员,业界称之为“垠神”,曾经发过文章吐槽过业界各种主流的编程语言(对Java,的Python稍微宽容一些)&…

如何学习C语言?就是这么简单粗暴!

C语言是面向过程的,而C++是面向对象的。 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理…

C/C++对编程的重要性!其他编程语言都是弟弟!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言其实不难,只是你没有找对方法!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

想学好C语言?先把基础打好再说吧!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言新手最常见的问题!你在这里跌倒过吗?

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…