date:2018526 day10

 安装:

一.Python27安装

1.双击安装python-2.7.13-64位.msi

 

 

2.检查python:cmd命令行→【python】→回车,出现如图所示,表示成功

 

可能出现:'python'不是内部命令,解决方法:

在环境变量中新建变量“C:\Pyhton27\”,如图所示

 

2.1检查pip:cmd命令行→【pip list】

可能出现:'pip'不是内部命令,解决方法:

在环境变量中新建变量“C:\Python27\Scripts”,如图所示

 

 

3.双击安装pycharm-community-2017.3.3.exe

 

二.Robot Framework安装

1.cmd命令行→【pip install robotframework】→回车

 

三.Robot Framework-RIDE

1.双击安装wxPython2.8-win64-unicode-2.8.12.1-py27.exe(Wxpython 是python 非常有名的一个GUI库,因为RIDE 是基于这个库开发的)

2.cmd命令行→【pip install robotframework-ride】→回车

3.cmd命令行→【ride.py】→回车

可能遇见的问题1:‘ride’不是内部或外部命令...

解决方法:在X:\Python27\Script路径下找到ride.py,以python.exe方式运行。如我的路径就是C:\Python27\Scripts\ride.py

 

基础:

一.导入库

导入的库分两种,一种是导入常用库,如String、Collections等(Library String、Collections,再运用库中的关键字);另一种是导入写好的.py文件(放在Python27/Lib/site-packages内),也是需要Library .py文件,再使用其中的关键字

 

二.web自动化基础

1.Selenium2Library

Selenium2Library实质上是一系列关键字(方法)的封装,这些封装好的关键字(方法)以接口的方式提供给RIDE,提供给自动化测试调用。

安装操作:

将chromedriver.exe放在Python27下,然后在cmd中运行【pip install robotframework-selenium2library】,完成之后方可在套件(Suite)下Library Selenium2Library

基础使用(按F5键快捷键Search Keywords):

Click Element关键字:调用此关键字需要传一个参数locator定位

 

Input Text关键字:此关键字需要传二个参数locator定位、text输入内容

 

 Select From List By Value关键字:(此关键字通过下拉框里的Value属性选择选项)

 

Select Window关键字:(此关键字可通过url/title选择窗口)

 

 

 

2.定位方法之Jquery

首先在chrome里按F12打开调试,获取元素id、class等等,在console里调试(Ctrl+L=消除console里的调试),如果可以成功调取该元素,则可写入ride

通过id来定位元素:

 

通过class来定位元素:

 

有七个符合的元素,而我们需要的元素在第一个,所以可以用eq()来选取

【注:找到多个定位元素,xpath是从1开始计算;而Jquery是从0开始计算】

 

通过文本来定位元素:

 

3.定位方法之Xpath(除了文本,一切查找属性值都要用@

通过id来定位元素:

 

通过class来定位元素:

 

通过文本来定位元素:

 

项目:

date:2018527 day11

一.项目分层

1.测试数据(配置变量,如网址、用户名、密码等)

2.关键字(关键字封装,要调用直接使用关键字名即可,输入内容、点击元素、滚动滑动条等等)

3.测试用例(测试流程)

 

C1:

Test Case 测试用例  导  业务流程+测试数据

Resource 业务流程  导  业务模块

Resource 业务模块  导  基础控件

 其中,测试案例(文件夹)中放测试用例;测试套件(套件文件夹)中放业务流程、业务模块、基础控件;测试数据

 

二.项目实例

1.测试数据

将项目能用到的变量封装好,将变量放在同一个测试资源下

 

 

2.关键字

将项目需要用到的关键字封装好,关键字需要用到的库导入在同一个测试资源中

 

 

 

3.测试用例

导入已封装好的关键字以及设置好的测试数据

 

 

三.Tips

1.按F5可搜索关键字

2.ride打不出log时,写一个批处理“taskkill /f /im chromedriver.exe”,以.bat形式保存;每次运行测试用例时,手动运行即可

 

&&&&&&&&&&&&&&&&&&&&&&&&xxxxx·xx&&&&&&&&&&&&&&&&&&&&&&&& 

 

date:2018603 day12

一.连接数据库

1.cmd→pip install robotframework-databaselibrary

 

2.在library内导入DatabaseLibrary

 

3.cmd→pip install pymysql

 

4.robotframework连接数据库关键字

①.连接数据库-connect To Database Using Custom Params

 

②.查询语句- ___ query ___

 

③.执行SQL语句-Execute Sql String 

 

 ④.关闭数据库-Disconnect From Database

 

二.杂·知识

1.ride自带的空格 ${space} (无需导入,无需下载)

 

2.内置变量-前一用例状态【${prev test status}】

 

3.Pybot命令

①.执行整个项目下的所有用例: pybot 项目路径。例如: pybot D:\robot

PS:robot项目里面所有用例

②.执行某个套接件中的所有用例: pybot 项目路径\suit文件名称。 例如:pybot D:\robot\test.txt

PS:robot项目里面测试套件text的所有用例

③.执行具体的某个用例的用例:pybot --test 用例名称 项目路径\suit文件名称。例如:pybot --test testcaseName D:\robot\test.txt   

PS:robot项目里面的test测试套件,里面一个叫testcaseName的测试用例。

④.执行项目中指定标签的案例: pybot --include tagName D:\robot 

PS:robot项目里面所有标签为tagName的用例

⑤.执行所有用例后,将生成的文件保存到指定目录下: pybot -d 测试报告路径 项目路径。例如: pybot -d D:\测试结果 D:\robot

PS:执行完robot项目里面所有用例后,将log.html、report.html、output.xml保存到【D:\测试结果】目录

 

 

RF库

Collections 

Collections:提供一组关键字处理Python列表和字典。

 

·Selenium2Library

关键字:Register Keyword To Run On Failure

该关键字用于在案例执行失败时,需要执行哪个关键字。

 

 

关键字:Capture Page Screenshot

获取当前页面的截图,如果对该关键字没有传入任何的参数,会默认在将获取到的截图命名为appium-screenshot-<counter>.png,并且保存到RobotFramework的运行日志目录下,在案例运行失败时,经常需要保存截图来辅助定位和分析。

 

~例子:案例执行失败时,截图

 

关键字:Select Window

选择窗口