web端自动化测试以及工具selenium
Posted 小布丁value
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web端自动化测试以及工具selenium相关的知识,希望对你有一定的参考价值。
web端自动化测试以及工具selenium
1.什么是web自动化
操作的对象是浏览器UI,或者手机页面也可以采用Web自动化测试,但是我们讲解web端自动化测试主要是浏览器。我们采用selenium工具实现web自动化实战,selenium
是一种只能操作web自动化的技术框架库。 Selenium特点: 开源,免费,背后有Google 维护源代码
多浏览器支持:Firefox,Chrome,IE,Opera,Edge 多平台支持:Linux,Windows,MAC
多语言支持:Java,Python,Ruby,C#,javascript,C++和php
对Web页面支持良好,简单(API简单),灵活(用开发语言驱动) 支持分布式测试用例执行:
2016年,Selenium3诞生。一处了Selenium1中的Selenium
RC,并且官方重写了所有的浏览器1驱动。Selenium工具集主要包括:
Selenium IDE(集成开发环境)是一个创建测试脚本的原型工具。他是一个Firefox插件,实现简单的浏览器操作的录制和回放功能,提供创建自动化测试的建议接口。Selenium
IDE有个记录功能,能记录用户的操作,并且选择多种语言把他们导出到一个可重用的脚本中用于后续操作。
Selenium RC:Selenium Remote Control. Selenium RC是Selenium家族的核心工具,支持多种不同的怨言编写自动化测试脚本,通过Selenium
RC的服务器作为代理服务器去访问引用而达到测试的目的。
Selenium Core: 支持Dhtml 的测试案例(效果类似数据驱动测试),他是Selenium IDE和Selenium RC的引擎。
WebDriver: 是Selenium2主推的工具,WebDriver 是SeleniumRC的替代品。如果你使用Selenium开发一个新自动化测试i项目,强烈推荐使用WebDriver,它提供了web自动化的各种语言调用接口库。Selenium
WebDriver是通过各种浏览器的驱动(Web Driver)来驱动浏览器的,而不是通过注入JavaScript的方式
1.1 selenium WebDriver(selenium3)
提供了web自动化的各种语言(java,python,ruby等)调用接口库
通过各种浏览器的驱动(web driver)来驱动浏览器的
1.2 安装方式
1.首先安装python环境
安装Selenium工具包(pip install selenium
3.安装浏览器驱动(这里以谷歌浏览器为例)
3.1输入chrome://version 查看chrome的版本
3.2 下载
chromedriver的版本一定要与Chrome的版本一致,不然就不起作用。
有两个下载地址:
http://chromedriver.storage.googleapis.com/index.html
https://npm.taobao.org/mirrors/chromedriver/
3.3 将浏览器的安装位置路径添加到环境变量里。
添加环境变量步骤为:选择桌面上的计算机图标,单击右键选择属性,在弹出的系统属性界面选择高级系统设置,单击环境变量按钮,在系统变量列表里选择Path项,单击编辑按钮,在弹出的界面中,在变量值框内粘贴浏览器的安装位置路径(注意变量值的每个路径需要用分号隔开),最后单击确定按钮。
4、编写第一个自动化测试脚本
5.案例selenium自动化(以无忧网为例)
1.引入驱动,生成浏览器对象
引入驱动
生成浏览器对象
获得浏览器对象,通过get()方法像浏览器发送网址
# 引入驱动
from selenium import webdriver
#生成浏览器对象
driver = webdriver.Chrome()
#获得浏览器对象,通过get()方法像浏览器发送网址
driver.get("https://www.51job.com/")
2.定位到搜索框,并向搜索框中输入"测试工程师 ";
#定位到搜索框,并向搜索框中输入”测试工程师";
driver.find_element_by_id("kwdselectid").send_keys("测试工程师")
在搜索框里右键点击检查,就能得到搜索信息,都可以定位,博主用的是id
结果
3.点击省份
#点击省份
driver.find_element_by_id("work_position_input").click()
#已经被选择的省份 ,再次点击的,取消 过滤的是已经被选中的省份
elements =driver.find_element_by_css_selector("#work_position_click_center_right_list_000000 em[class = on]")
for ele in elements :
ele.click()
#选择心仪的城市
driver.find_element_by_id("wsork_position_click_center_right_list_category_000000_020000").click()
driver.find_element_by_id("work_position_click_bottom_save").click()
# 搜索岗位信息
driver.find_elements_by_css_selector(".ush button").click()
#记录当前所有的岗位信息
jobs = driver.find_element_by_css_selector("")
以上是关于web端自动化测试以及工具selenium的主要内容,如果未能解决你的问题,请参考以下文章
关于web程序测试,Selenium 2.0录制工具,以及WebDriver编写的测试类,能测试出啥效果。属于哪种测试。