小白的摸索之路:关于RobotFramework+Selenium2Library

一、准备工作

1Python-2.7.5.msi(一切的基础,切记安装的路径不要有中文不要有空格,http://www.python.org/download/releases/2.7.5/

需要在python的输入自动化脚本的路径,以及路径不能存在中文(我没有使用RIDE,而是用NotePad++编写,建议使用RIDE,因为Notepad++需要手动的去对齐以及命名的时候需要知道一些细节,否则报错不好定位)


2setuptools (用于后续的一些测试库的安装支持,https://pypi.python.org/pypi/setuptools/

3、pip-install(pip安装方式,https://github.com/pypa/pip/releases

4、robotframework(robotframework,http://code.google.com/p/robotframework/downloads/list

5、各浏览器的安装

安装ChromeDriver(只介绍chrome,https://www.cnblogs.com/feng0815/p/8179259.html

  • 将chromedriver.exe放在C:\Python27或者C:\Python27\Scripts目录下(因为这两个目录已经添加到系统环境变量里面了)

  • 需要注意的是ChromeDriver的版本要与你安装的chrome版本相映射(查看chrome的版本)


  • 需要在将浏览器驱动装到该目录下,浏览器的驱动版本需要跟你本地的浏览器版本匹配

6、通过pip安装Selenium2Library

Windows的安装步骤 

①cmd

输入python

pip install robotframework-selenium2library

二、需要掌握的基础知识

1、定位

①Xpath

  • 根据values值定位 

eg//span[contains(text(),’1.jpg’)] (即只要标签为span的text中只要包含1.jpg就是该元素)

//span[text()=登录] (即只要标签为span的text是'登录'就是该元素)


  • 根据元素的属性值定位 

eg://span[@action=”ClickFileName”] (即只要标签为span的action属性名是ClickFileName就是该元素)

  • 因为元素在table表单内,定位最好采用 

eg//table/tbody//span[contains(text(),’1.jpg’)] 


②CSS

  • 根据name值定位 

eg:input[name="username"](即标签是input而且name的值是'username')

  • 根据id值定位 

eg:input[id="username"](即标签是input而且id的值是'username')

3、如何自定义关键字

在Keywords下输入你要定义的关键字

输入你要自定义的关键字的内容

举个栗子


吃栗子:{ 这个关键字是Login Input Username(即输入登录时用户名); Input Text是selenium2library自带的关键字 }

注意:{使用Notepad++的定义关键字时需要注意格式例如,Login Input Username 这个关键字,你需要Login与Input之间只能有一个空格,关键字与变量之间需要3个空格,即Input Text与${Login_Password_Input}之间是3个空格}

4、如何执行

根据下图操作


执行整个项目

输入pybotlogin.txt (执行该文件下的所有用例)



执行一个项目下的单个用例

输入pybot-t login login.txt (执行该文件下的名称为login的用例)


5、一个完整的栗子

①在E盘新建一个文件夹是example,目录结构是

②E:\example\iFly一定要有_init_.txt文件

 



③目前的这个完整的例子是在一个文件下E:\example\Demo\BVT\Login.txt

 

*** Settings ***

Library           iFly.IflySeleniumLib    run_on_failure=Capture Page Screenshot andLog Source

 

*** Variables ***

##通过css定位用户名以及密码

${Login_Username_Input}    css=input[name="os_username"]

${Login_Password_Input}    css=input[name="os_password"]


##输入用户名以及密码

${username}    123

${password}    123


##定位提交按钮

${Login_Submit_Button}    css=input[id="login-form-submit"]

*** Test Cases ***

Valid Login

    Open Browser    http://jira.iflytek.com/login.jsp    chrome

    Maximize Browser Window

    Input Text   ${Login_Username_Input}   ${username}

    Input Text    ${Login_Password_Input}    ${password}

    Sleep   1s

    Click Element    ${Login_Submit_Button}

 

三、模板以及学习官方网站

官方网站 http://robotframework.org/

官方网站提供的例子http://robotframework.org/#examples


如何查看Selenium2Library提供的关键字(https://github.com/robotframework/Selenium2Library/find/master





初入职场小白的第一篇文章就分享完啦,欢迎各位大佬提出宝贵意见,促进自己继续提升~~


猜你喜欢

转载自blog.csdn.net/itest_2016/article/details/80907907