下面是使用 Python + Selenium 实现第一个自动化测试脚本的完整攻略:
1. 安装 Python 和 Selenium
Selenium 是一个自动化测试框架,它可以用来控制浏览器从而实现自动化测试。首先需要安装 Python,建议安装最新版本的 Python3,然后安装 Selenium。
首先安装 Python3,在官网下载并安装:https://www.python.org/downloads/
然后安装 Selenium:
pip install selenium
2. 下载 webdriver
WebDriver 是一个通过浏览器驱动来控制浏览器的工具。我们需要下载适合自己浏览器版本的 webdriver。
以谷歌浏览器为例,我们可以进入 https://sites.google.com/a/chromium.org/chromedriver/downloads 选择下载我们需要的版本。
下载后解压,将可执行文件的路径加入到 PATH 环境变量中,或者在代码中指定 webdriver 路径。
3. 编写自动化测试脚本
新建一个 .py 文件,然后在文件中导入 Selenium:
from selenium import webdriver
接着创建一个浏览器对象,并打开需要测试的网站:
browser = webdriver.Chrome() # 创建一个 Chrome 浏览器对象
browser.get("http://www.example.com") # 打开需要测试的网站
在这里我们以使用 Selenium 完成登录的测试为例。
from selenium import webdriver
browser = webdriver.Chrome() # 创建一个 Chrome 浏览器对象
browser.get("https://example.com") # 打开需要测试的网站
# 找到登录按钮并点击
login_button = browser.find_element_by_xpath("//a[text()='登录']")
login_button.click()
# 找到用户名、密码输入框,并输入用户名和密码
username_input = browser.find_element_by_xpath("//input[@name='username']")
password_input = browser.find_element_by_xpath("//input[@name='password']")
username_input.send_keys('your-username')
password_input.send_keys('your-password')
# 找到登录按钮并点击
login_button = browser.find_element_by_xpath("//button[text()='登录']")
login_button.click()
在这个例子中,我们使用了 Selenium 的 find_element_by_xpath
方法来找到需要的元素,并使用 send_keys
方法输入相应的数据,最后使用 click
方法来模拟点击按钮。
4. 运行测试脚本
将代码保存到 .py 文件中,使用终端进入到保存的文件夹,然后运行脚本:
python test.py
如果一切正常,控制台将会输出测试结果。注意,需要先启动 webdriver ,才能运行测试脚本。
示例说明
示例一
下面是一个用 Selenium 对 百度 搜索进行测试的例子:
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
search_input = browser.find_element_by_xpath("//input[@name='wd']")
search_input.send_keys('Python Selenium')
search_input.submit()
result = browser.find_element_by_xpath("//div[@id='content_left']/div[1]/h3/a")
assert result.text == "Python Selenium 中文手册 - Python Selenium中文文档 ..."
browser.quit()
这个例子中,我们给百度输入关键词 "Python Selenium",然后模拟点击搜索按钮,最后检验是否在搜索结果中出现了 "Python Selenium 中文手册 - Python Selenium中文文档 ..."。如果没有出现,则会抛出 AssertionError,测试失败。
示例二
下面是一个用 Selenium 对 知乎 登录页面进行测试的例子:
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("https://www.zhihu.com/signup")
email_input = browser.find_element_by_name("username")
password_input = browser.find_element_by_name("password")
email_input.send_keys("your-email")
password_input.send_keys("your-password")
login_button = browser.find_element_by_css_selector("button.SignFlow-submitButton.Button.SignFlow-submitButton--active")
login_button.click()
这个例子中,我们打开了 知乎 注册页面,然后找到用户名、密码输入框并输入相应的值,最后点击登录按钮。如果用户名或密码错误,将无法登录成功,程序将会报错,测试失败。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Python+selenium实现第一个自动化测试脚本 - Python技术站