Robot Rreamwork (二)

web 自动化

  1. 安装依赖包
pip install robotframework-seleniumlibrary

2.安装失败,提示pip版本太旧
3.升级pip
4.ride 导入SeleniumLibrary

5.编写关键字

常用关键字

部分1

输出:

Starting test: Demo.Moudle.Submoudle.Web自动化.TestDemo
20220105 22:03:50.247 :  INFO : Opening browser 'chrome' to base url 'https://www.baidu.com'.
20220105 22:03:55.432 :  INFO : Slept 2 seconds
20220105 22:03:57.666 :  INFO : Slept 2 seconds
20220105 22:03:57.666 :  INFO : ${width} = 602
20220105 22:03:57.666 :  INFO : ${height} = 802
Ending test: Demo.Moudle.Submoudle.Web自动化.TestDemo

部分2:

20220105 22:14:23.272 :  INFO : Opening url 'https://www.jd.com'
20220105 22:14:33.885 :  INFO : Slept 2 seconds
20220105 22:14:33.885 :  INFO : ${title} = 京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!
20220105 22:14:33.896 :  INFO : ${address} = https://www.jd.com/

补充:

键盘关键字:
double click:双击
Press Key:键盘按键

元素定位

id,name 定位


Comment: 注释关键字
click element: 点击关键字
input text: name=xxx, id=xxx 通过id或name属性定位

a标签 定位

link=xxx: 精确搜索a标签
partial link: 模糊搜索a标签

Xpath定位:

* 绝对路径:以/ 开头,送<html>标签开始查询元素
  /html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
* 相对路径:以// 开头
  * 相对路径 + 索引定位://form/span[1]/input
  * 相对路径 + 属性定位:input[@autocomplete='off']
  * 相对路径 + 部分属性值定位: //input[starts-with(@autocomplete,'of')]
  * 相对路径 + 通配符定位://*[@id='kw']
    不建议使用复制的xpath路径:
    1. 复制的xpath 性能比较低
    2. 比手写的要复杂
    3. 有些元素是动态的,xpath会失效
  * 相对路径 + 文本值定位://span[text()='按图片搜索']

以上xpath演示是基于百度搜索框:

CSS定位

css 选择器

  • id 选择器: #id属性值
  • 类选择器:.class属性值
  • 子孙选择器: >
    form>span.bg>input.s_ipt(百度搜索框)
  • 子类选择器: 空格 ,不包含孙子
    form span.bg input.s_ipt(百度搜索框)
    div#s-top-left a:nth-child(7) :选中父标签id为s-top-left的div,并且该div第七个子元素是a标签的元素
  • 兄弟选择器:a+a,代表a标签的第一个兄弟
    div#s-top-left a+a(百度-好123)
  • 属性选择器: [属性名=属性值]
    input[autocomplete='off']
  • 属性值以什么开头
    input[autocomplete^='o']
  • 属性值以什么结尾
    input[autocomplete$='f']
  • 属性值包含什么
    input[autocomplete*='of']

w3c 选择器介绍
https://www.w3school.com.cn/cssref/css_selectors.asp

RF CSS选择器:

断言

RF的断言:
Should Be Empty
Should Be Equle
Should Be True
Should Contain
should start with
should end with
length should be

Selenium 断言:
Page Should Contain hao123  # 断言页面是否包含hao123字符串
Page Should Contain id=kw   # 断言页面是否包含有id为kw的元素
posted @ 2022-01-05 20:56  chuangzhou  阅读(30)  评论(0编辑  收藏  举报