python3+selenium之自动化测试学习笔记之一——验证百度搜索结果

最近一直在学习自动化测试,为方便加深记忆,讲学习内容疏通一下。

selenium针对web自动化,手机上app的自动化测试工具是appium,等我学习完了,也来总结一下。

selenium安装,直接使用pip install就可以了。

浏览器的驱动需要自行下载,大致有三种,Firefox,Chrome,Ie,驱动版本和浏览器的版本需要匹配,不匹配的话就不能使用。另外值得注意的一点存放浏览器驱动的路径要加入环境变量里,或者直接将他们放到python安装目录下的scripts下面。

简单实例

通过selenium打开firefox,在地址栏输入网址'https://www.baidu.com/',在搜索栏输入'selenium',点'百度一下','判断 官网是不是排在第一个。'

python3+selenium之自动化测试学习笔记之一——验证百度搜索结果

代码如下:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('https://www.baidu.com/')
driver.implicitly_wait(5)
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
text =driver.find_element_by_xpath('//*[@id="1"]/h3').text

if text == 'Selenium - Web Browser Automation':
print('test pass!')
else:
print('test fail!')

前面三行意思很明确,打开百度页面。后面的对元素的操作需要自己查看,鼠标移动到要查看的元素上,Firefox中就是右键——查看元素:

python3+selenium之自动化测试学习笔记之一——验证百度搜索结果

可以看到id='kw',这里是通过id来定位元素,当然他通过name也可以定位。

这里就涉及到selenium重要的元素定位方法 ,详情可参考大神的文章八种定位方法:

https://www.cnblogs.com/yoyoketang/p/6123890.html

在搜索结果中,官网上右键可以看到:

python3+selenium之自动化测试学习笔记之一——验证百度搜索结果

那只要取到这个text值就可以了。

要定位到这个text值,直接通过定位id=‘1’,就会将其下面的所有文字都显示出来,h3的class属性又不是唯一的,就用xpath先定位到id=‘1’,再取它下一级的text就可以了。

再将搜索结果与预期匹配,大功告成。