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
选择窗口

