软件测试-web自动化测试以及工具selenium

目录

1 什么是web⾃动化

 2 安装

2.1 ⾸先安装python环境

2. 2 安装Selenium⼯具包(pip install selenium)

2.3  安装浏览器驱动

3 By定位元素

4 web自动化实例举例

4.1 自动化搜索内容

4.2 对51job网站的搜索信息进行自动化爬虫

 5 学习webdriver 的API的链接~


1 什么是web动化

操作的对象是浏览器UI,或者⼿机⻚⾯也可以采⽤Web⾃动化测试。采⽤selenium⼯具实现web⾃动化实战,selenium 是⼀种只能操作web⾃动化的技术框架库。
简单来说,就是写段代码解放双手,让程序执行控制你的浏览器进行一系列操作,也可以获取数据,提高了效率。

 2 安装

2.1 ⾸先安装python环境

https://www.cnblogs.com/huangbiquan/p/7784533.html Python环境PCharm的安装
 

2. 2 安装Selenium⼯具包(pip install selenium)

cmd环境下,用pip install selenium 

2.3  安装浏览器驱动

以使⽤⾕歌浏览器(Google Chrome)为例。
1 ) ⾸先下载⾕歌浏览器chromedriver驱动, 注意不同的浏览器需要下载与之对应的浏览器驱动。 (在浏览器中查看版本,设置-->关于Chrome)
软件测试-web自动化测试以及工具selenium_第1张图片

将下载 的驱动放置到⾕歌浏览器的安装⽬录下。
点击跳转下载谷歌浏览器驱动

2)将浏览器的安装位置路径添加到环境变量⾥。

        添加环境变量步骤为:选择桌⾯上的计算机图标,单击右键选择属性,在弹出的系统属性界⾯选择⾼级系统设置,单击环境变量按钮,在系统变量列表⾥选择Path项,单击编辑按钮,在弹出的界⾯中,在变量值框内粘贴浏览器的安装位置路径(注意变量值的每个路径需要⽤分号隔开),最后单击确定按钮。

软件测试-web自动化测试以及工具selenium_第2张图片

3 By定位元素

进⾏Web⻚⾯⾃动化测试,其中对⻚⾯上的元素进⾏定位是操作的核⼼。⽽操作⼜是以定位为前
提,因此对⻚⾯上的元素定位是进⾏⾃动化测试的基础(先定位到某个按钮或者文本框,才能对他们进行操作)。⻚⾯上的元素就像⼈⼀样有各种属性,⽐如元素名,元素id,元素属性(class属性,name属性)等。WebDriver就是利⽤元素的这些属性来定位的,Selenium进⾏⾃动化测试的⼀个 很重要的东⻄就是元素定位。
使⽤时应先导⼊By类:
from selenium.webdriver.common.by import by
例:
find_element(By.ID,'kw') # 通过ID定位
find_element(By.NAME,"wd") # 通过NAME定位
find_element(By.CLASS_NAME,"s_ipt")  # 通过CLASS定位
find_element(By.TAG_NAME,"input")  # 通过TAG NAME定位
find_element(By.LINK_TEXT,u"新闻") 
find_element(By.PARTIAL_LINK_TEXT,u"新")
find_element(By.XPATH,"//*[@class='bg s_btn']")

那么这些id,name 从哪里得到呢?

在浏览器中先找到要操作的位置,通过右击--->检查打开网页源代码,然后通过移动鼠标找到对应位置的代码,这样就能查出它的属性。

软件测试-web自动化测试以及工具selenium_第3张图片

4 web自动化实例举例

4.1 自动化搜索内容

##-------以谷歌浏览器为例,百度搜索"selenium如何使用"----------
import time

###导入selenium中的webdriver
from selenium import webdriver
from selenium.webdriver.common.by import By

## 通过webdriver.Chorme() 创建浏览器对象
driver = webdriver.Chrome()

#获得浏览器对象,通过get()发送数据跳转到百度网站
driver.get("http://www.baidu.com")

# 定位百度的输入框,在输入框中输入:selenium如何使用
driver.find_element(By.ID,"kw").send_keys("selenium如何使用")

# 定位百度一下的按钮,然后进行点击操作
driver.find_element(By.ID,"su").click()

# 睡眠5s
time.sleep(5)
#关闭浏览器
driver.quit()

4.2 对51job网站的搜索信息进行自动化爬虫

##导入selenium中的webdriver
from selenium import webdriver
from selenium.webdriver.common.by import By

# 获取浏览器对象
driver = webdriver.Chrome()

# 跳转去找工作网站
driver.get("http://www.51job.com")

# 在文本框中输入java
driver.find_element(By.ID,"kwdselectid").send_keys("JAVA")

#点击选择城市的按钮
driver.find_element(By.ID,"work_position_input").click()

#点击取消掉之前已选中的城市(恢复默认未选中城市状态)
city_list = driver.find_elements(By.CSS_SELECTOR,"#work_position_click_center_right_list_000000 em[class = on]")
for i in city_list:
    i.click()

#点击心仪的城市 西安
driver.find_element(By.ID,"work_position_click_center_right_list_category_000000_200200").click()

#点击确定按钮
driver.find_element(By.ID,"work_position_click_bottom_save").click()

#点击搜索
driver.find_element(By.CSS_SELECTOR,".ush button").click()

#将页面数据获取出来
jobs = driver.find_elements(By.CLASS_NAME,"j_joblist")
for job in jobs:
    fields = job.find_elements(By.TAG_NAME,"span")
    for f in fields:
        a = [f.text]
        print(a)

软件测试-web自动化测试以及工具selenium_第4张图片

软件测试-web自动化测试以及工具selenium_第5张图片

 5 学习webdriver 的API的链接~

第三章 Webdriver API简介_潜龙0318-技术共享-CSDN博客_webdriver接口

你可能感兴趣的:(测试,自动化,Python,selenium,web测试)