Selenium自动化入门

一、Selenium介绍

Selenium是一款开源且目前最流行WebUI自动化测试工具。

 

二、工作原理

测试代码通过webdriver协议去控制驱动进而间接控制浏览器。IEChromeFirefox,每款浏览器都有它对应的驱动。

 

三、环境搭建

1、安装Selenium测试库(以Pycharm为例)

 

 

安装完毕(注意安装的时候选择3.0版本,4.0版本运行元素定位代码会报错)

 

 

2、准备浏览器驱动(和浏览器版本匹配)

1)查看浏览器版本

  • 点击自定义及控制Google Chrome

      

 

  • 点击设置-->关于Chrome

   

 

2)打开谷歌浏览器驱动网址http://npm.taobao.org/mirrors/chromedriver/

  • 选择与浏览器版本匹配的浏览器驱动并打开

 

 

 

 

 

  • 选择符合本机操作系统的驱动并下载(以windows系统为例,win32win64共用这个文件)

 

 

3)解压刚下载的浏览器驱动压缩包到本地(例如:D:\TestTools\chromedriver

 

 

4)添加环境变量

 

 

5)使用cmd检查环境变量是否配置成功

 

 

 

四、指导思想

1、Web UI自动化测试的指导思想是:选择元素并操作元素

  • 选择元素:根据目标元素特征定位
  • 操作元素:点击、输入、拖拽等

 

2、构成网页的三大要素是:HTMLCSSJavaScript

  • 了解测试对象——HTML

  <标签 属性=属性值>元素内容</>

 

五、代码实现(以测试小米商城的商品搜索框为例)

#注意:文件名-文件夹名不能和已有的库重名-比如不要取名成selenium,否则selenium库会导入失败
#导入包-
from selenium import webdriver

#打开一个浏览器
# 如果没有给驱动路径配置环境变量,那么以下语句应该添加绝对路径:driver = webdriver.Chrome(“D:\TestTools\chromedriver”)
# driver相当于一个控制浏览器的遥控器
driver = webdriver.Chrome()

#打开目标页面-miaomi商城
driver.get('http://www.mi.com/')

#需求:自动化首页搜索框功能--候选商品文本需要包含所输入的关键字
#输入框输入:小米10

def test_search_input(name):
    #选择元素
    #借助浏览器debug工具小箭头点击目标元素,高亮部分即使目标元素代码
    #根据目标元素的id选择元素

    #根据id寻找元素并返回web element对象
    search_input = driver.find_element_by_id('search')
    #输入关键字--小米10
    search_input.send_keys(f'{name}\n')

    #收集搜索结果产品信息即可
    #根据class定位产品信息元素
    item  = driver.find_element_by_class_name('reuslt-order')
    print(item.text)

    #搜索结果页面页面判断是否包含输入的关键字--添加断言
    assert name in item.text

    #关闭浏览器
    driver.quit()

if __name__ == '__main__':
    test_search_input('小米手环')

 

六、测试结果

 

 

posted @ 2021-11-11 17:46  娜小知  阅读(417)  评论(0)    收藏  举报