Python2.7+RobotFramework+Selenium2Library实现web自动化-环境部署及使用方法

前言:1、安装ride要依次安装了“python”、“wxPython”、“robotframework” “robotframework-ride”。后三个安装包在安装时,不要修改安装路径。

2、导入Selenium2Library资源库需要依次安装“decorator”、“selenium”、“Selenium2Library”

3、ride默认打开火狐浏览器,限47.0以下的版本可用。使用chrome浏览器需安装“chromeDriver”。

Ps:文件夹里的都是64位的安装包,如果电脑是32位的,就重新下载一个32位的安装包,下载地址在文档中都有写到。

安装包:https://pan.baidu.com/s/1-9-Zm0XYwExRnBzA6a7rNQ
提取码:7t9f

一、安装python,参考python安装说明文档

详见:https://www.jianshu.com/p/abe5b024a354


二、安装wxPython

1、运行“wxPython2.8-win64-unicode-2.8.12.1-py27.exe”应用程序

注意:最好不要使用wxPython3.0,否则可能会引起ride版本不一致,导致ride无法打开

2、一直点下一步就可以,直到最后安装完成。

3、安装成功后,可能会打开一个“README.win32.txt”记事本,直接关闭记事本就可以


三、安装robotframework

1、运行“robotframework-2.8.7.win-amd64.exe”应用程序

2、一直点击下一步,直到安装完成

3、它默认的安装路径就是python的安装路径(C:\Python27),所以不用担心,直接安装就好。


四、安装ride

1、运行“robotframework-ride-1.5.win-amd64.exe”应用程序

2、一直点击下一步

3、出现提示:是否创建桌面快捷方式时,一定要选择【是】!!!

4、安装成功后,如果出现

“close failed in file object destructor:

sys.excepthook is missing

lost sys.stderr”这些提示文案也不要担心,直接点[完成]就可以了。

5、双击点击桌面的ride图标,可以启动ride,如图:

注意:我们常常会遇到,安装完成RIDE 后,双击桌面的RIDE 不能启动的情况,可能有这几种原因导致:

原因一:RIDE快捷方式目标设置不对导致

我们可以通过右击桌面RIDE 图标,右击->属性:切换到快捷方式。把目标(T)设置成实际路径D:\Python27\pythonw.exe -c "from robotide import main; main()"

或C:\Python27\pythonw.exe -c "from robotide import main; main()"


原因二:由于RIDE 所依赖的wxPython 版本不一致造成的。

重新下载wxPython 2.8.12.1 版本的应用程序并安装


原因三:之前安装python的时候,没有安装“Add Python.exe to Path”组件

卸载python重新安装一下,安装时参考python安装说明文档。


五、安装decorator

1、解压“decorator-4.0.10.tar.gz”至C盘(或其他盘),选择“解压至当前文件夹”

2、进入解压文件夹目录下

3、cmd输入命令python setup.py install

Ps:打开cmd至指定目录简易方法如下

Step1.进入到该目录文件夹下 

Step2.在目录路径下输入cmd,点击回车

----->

六、安装selenium(同上)

1、解压“selenium-2.40.0.tar.gz”至D盘(或其他盘),选择“解压至当前文件夹”

2、进入解压文件夹目录下

3、cmd输入命令python setup.py install


七、安装Selenium2Library(同上)

1、将“robotframework-selenium2library-master”解压至D盘(或其他盘)

2、 进入进入解压文件夹目录下

3、 cmd输入命令:python setup.py install

六、安装IEDriverServer、chromedriver

1、应用程序“IEDriverServer.exe”复制到D:\Python27路径下。

(若之前python是安装在C:\Python27文件夹下的,就把“IEDriverServer.exe”复制到C:\Python27路径下)

2、安装chromeDriver与IEDriverserver方法一样

用于自动化测试时唤起IE浏览器进行测试,可以不安装,默认的是火狐浏览器

------------------------分割线-------------------------------

二、ride工具功能熟悉

1.创建项目测试脚本

(1)创建测试项目                                       

操作:选择菜单栏file----->new Project

Name 输入项目名称。

Type 选择Directory。

(2)创建测试套件

操作:右键点击创建的测试项目文件夹----à选择new Suite选项

Name 输入项目名称。

Type 选择File


(3)创建测试用例

操作:右键点击“测试套件”-------à选择new Test Case

Name  输入用例名称


(4)导入selenium2library库

操作1:左击“测试项目”à点击Libraryà 弹框Name输入Selenium2Library

操作2:左击“测试套件”à点击Libraryà 弹框Name输入Selenium2Library

如果导入的库显示为红色,表示导入的库不存在。如果是黑色则表示导入成功。

图例:


(5)编写用例 

用例编写区:

第一项:输入操作命令

第二项:输入元素定位 (或url 或为空,参考常用命令

第三项及以后:输入该命令需要填写的参数(参考常用命令


输入框颜色变化:

命令颜色变蓝:说明它是一个合法的关键字

红色框:表示这个参数必填

浅灰色框:表示这个参数选填,可填入也可不填

深灰色框:表示这个参数不可填入



2.运行测试用例  

勾选当前需要运行的测试用例,点击工具栏运行按钮▶

如果只运行单个用例的话,也可以切换到用例的Run标签页,点击“▶Start”按钮


运行信息:


运行信息显示会生成三个文件:Output.xml、Log.html、Report.html

Output.xml:输出脚本

Log.html:脚本的执行过程的记录

Report.html:脚本的执行结果的展示


3.导入测试用例

操作:点击打开文件夹->进入脚本存放目录->选中脚本文件(.txt或.robot)->打开



4.封装关键字

(1)创建封装关键字的文件夹

step1:右击文件夹->点击New Suite

step2:选择Directory、TXT->输入文件夹名称->点击【ok】


(2)创建关键字资源库

step1:右击新创建的‘New Resource’文件夹->点击NewResource

step2:输入Name,选择TXT,点击【OK】

Name:最好输入英文,首字母大写,如:Public_resource


(3)资源库导入Selenium2Library库

操作:点击Resource资源库->点击Library->Name输入Selenium2Library->点击ok

备注:与测试用例导入方法一样

(4)创建关键字参数命令及参数定义

step1:右击关键字资源库TXT文件->点击New UserKeyword

step2:填写Name、Argument->点击ok

Name:最好输入英文,首字母大写,如:Login_19lou

Argument:输入参数格式${参数名},多个参数以竖线“|”隔开,如:${username}或${username}|${password}


(5)编写关键字调用用例

此处以登录19楼为例,

${username}、${password}表示此处定义的以后调用时填写的参数



5.调用关键字

(1)导入关键字资源库

操作:点击用例套件->选择【Resource】->点击Browse找到创建的Public_resource.txt->ok

注意:此处导入资源库是点击【Resource】,不是【Library

(2)调用关键字命令

第一项:命令名称(即创建的关键字名称)

第二、三项:输入参数值,参数值输入顺序与参数定义顺序一致


------------------------分割线-------------------------------

三、常用关键字

1. open browser打开浏览器

填写方式:[url |browser=firefox | alias=None | remote_url=False | desired_capabilities=None |ff_profile_dir=None ]

url:打开的连接地址,必填

browser:使用浏览器,默认为火狐,可输入参数修改为其他浏览器


2. Close

Browser关闭浏览器

不需要输入参数

 

3. Input Text 输入文案

填写方式:[locator | text ]

locator:参数定位,如:id=userName 或 Xpath=

//*[@id="userName"]等元素定位方法,参考四、元素定位方法,必填

text:需要输入的文案内容,必填

 

4. Click Element 点击操作

常用于 非 按钮或文字链接 的点击操作,如:下拉框点击展开

填写方式:[locator],只填写元素定位,必填

 

5. Click Link点击文字链接

填写方式:[locator],只填写元素定位,必填

 

6.Click Bottom 点击按钮

填写方式:[locator],只填写元素定位,必填

 

7. Go To 前往url

在浏览器当前打开的页面,跳转到另外的url

填写方式:[url],必填

 

8.Go Back 返回上一页

不需要输入参数

 

9.sleep等待

常用于某一操作需要的响应时间较长时,暂缓下一操作,避免下一操作过快,而影响测试结果。如:登录成功后在跳转到其他页面,登录成功需要一点响应时间,如果直接跳转可能会出错。

填写方式:[time_ | reason=None ]

time:必填,(直接输入数字2,表示等待2秒)

reason:选填

 

10. Select Frame 选中frame框架

常用于页面在frame框架下 嵌套了其他html页面,需要先选中frame框架,才能定位到嵌套内的元素。如:发帖页面的文本输入框


填写方式:[locator],只填写frame框架的元素定位,如:(上图)id=editorIfr

 

11. Unselect Frame 取消选中Frame框架

需要在Frame框架下的html进行的 元素定位操作结束后,添加这个命令

不需要参数

------------------------分割线-------------------------------

四、常用元素定位方法

1. id 定位

编辑格式:id=id的值

如:id=userName

id的值参考该元素信息



2. name 定位

编辑格式:name=name的值

如:name=userName

name的值参考该元素信息



3. xpath定位

(1)直接定位到该元素


编辑方式:Xpath = //标签名[@关键词=’值’] 

如:Xpath =//a[@ttname="wap_1_dh_tchd"]

表示某个层级下,<a>标签下的元素,这个元素有ttname,ttname的值为wap_1_dh_tchd


(2)通过定位到上一级或上上级,来定位该元素


编辑方式:Xpath = //标签名[@关键词=’值’] /标签名

如:xpath = //span[@class=’bg s_ipt_w’]/input或xpath = //form[@id=’form1’]/span/input


(3)同时通过两种关键词定位元素


编辑方式1:Xpath = //标签名[@关键词1=’值1’and@关键词2=’值2’] 

如:Xpath =//a[@id=’kw1’and@name=’wd’]

表示某个层级下,<a>标签下的元素,这个元素有id为kw1且name为wd


编辑方式2:Xpath = //标签名[@关键词1=’值1’or@关键词2=’值2’] 

表示某个层级下,<a>标签下的元素,这个元素有id为kw1或name为wd


(4)通过绝对路径定位元素


编辑方式:Xpath =/标签/标签…

如:Xpath = /html/body/div[1]/div[4]/div[2]/div/form/span[1]/input

注:若有多个相同名称的标签,则标签后用[]注明第几个标签数;div[1]表示body标签下的第1个div标签

Xpath可已通过chrome浏览器获得,右击需要获取Xpath的元素->点击[检查]->开发者工具对应的代码区,右击->选中[Copy]->点击[Copy

Xpath],即可获取到该元素的Xpath和element



4. css定位

在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素

css定位的匹配规则较为复杂,不同选择器有不同的匹配规则。


五、其他特殊情况-补充说明

1.问题:ride强制关闭后,无法正常打开,每次打开就会闪退

原因:ride前置关闭后,仍有部分相关工具未关闭,导致ride无法启动

解决:安装360任务管理器,在360任务管理器中,关闭chromedriver、conhost、pythonw等相关进程

2.问题:ride执行脚本failed后,再执行其他脚本,可能会出现,某个命令后长时间不响应

原因:上一个脚本执行失败后,chromedriver没有正常关闭,再次开启另一个chromedriver会互相影响

解决:停止当前脚本,在360任务管理器中,关闭全部的chromedriver,再重新执行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容