这里写自定义目录标题
自动化测试开始章 ——selenium
Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且Selenium 能够在一个或多个浏览器中执行这些测试。
发展历程
Selenium 的发展经历了三个阶段:
- 第一个阶段,也就是 selenium1 的时代,在运行selenium1.0程序之前,我们得先启动selenium server端(selenium remote control),我们简称 RC。RC 主要包括三个部分:launcher,http proxy,selenium core。其中 selenium core 是被 selenium server 嵌入到浏览器页面中的,selenium core 内部是一堆 javascript 函数构成,通过调用这些函数来实现对浏览器的各种操作。
- selenium2 的时代合并了 webdriver,也就是我们通常说的 selenium,selenium2是默认支持 Firefox 浏览器的,这点非常方便。当然也支持其他更多浏览器,IE和 chrome 浏览器需要下载驱动包,并添加到环境变量下。
- selenium3 在 selenium2 的基础上做了一些调整,最明显的区别 就是 selenium2对Firefox的支持最高只支持46及以下版本。selenium3可以支持47以上版本,但是需要下载 geckodriver.exe 驱动,并添加到环境变量 path 下。
先放两张某机构的课程截图
设置休眠
由于打开百度网址后,页面加载需要几秒钟,所以最好等到页面加载完成后再继续下一步操作;导入 time 模块,time 模块是 Python 自带的,所以无需下载。
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("http://www.sogou.com")
time.sleep(3)
一个小实战~~
import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
#通过chromedriver与网址取得联系
driver=webdriver.Chrome()
# driver.get("http://www.sogou.com") #搜狗学习输入搜索
# time.sleep(3) #设置休眠
# # driver.refresh()#等待3秒后刷新
# # driver.back()#返回上一页
# # driver.forward()#切换到下一页
# #尝试用selenium访问chrome并输入shangyuye搜索
#
# search_input=driver.find_element("id","query")
# search_input.send_keys("shangyuye")
# search_click=driver.find_element("id","stb")
# search_click.click()
driver.get("https://www.baidu.com")
driver.set_window_size(1800,1200)
driver.implicitly_wait(10)
#mouse=driver.find_element("xpath","//*[@id='s-usersetting-top']")
#mouse=driver.find_element("id","s-usersetting-top")
mouse=driver.find_element("link text","设置")
ActionChains(driver).move_to_element(mouse).perform() #展示移动到设置键的内容id与xpath都可以 根据link text属性解决不了该问题
最后,java单元测试框架 Junit 和 TestNG,python 里面也有单元测试框架-unittest,相当于是一个
python 版的 junit。pytest 框架也是单元测试框架。
明天再写吧~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~