
1. 安装ChromeDriver驱动
- 访问`https://sites.google.com/a/chromium.org/chromedriver/downloads`→下载与Chrome版本匹配的驱动程序(如Windows版压缩包)。
- 将解压后的`chromedriver.exe`文件放置到系统环境变量PATH目录中(或脚本所在文件夹)。
2. 使用Selenium库编写测试脚本
- 在Python中安装依赖:`pip install selenium`→导入模块`from selenium import webdriver`。
- 示例代码:
python
driver = webdriver.Chrome() 自动调用本地ChromeDriver
driver.get("https://www.example.com")
print(driver.title) 输出页面标题
driver.quit()
3. 配置浏览器启动参数
- 在脚本中添加选项:
python
options = webdriver.ChromeOptions()
options.add_argument("--headless") 无头模式,不显示GUI
options.add_argument("--disable-gpu") 禁用GPU加速(解决虚拟平台兼容性问题)
driver = webdriver.Chrome(options=options)
- 设置代理:`options.add_extensions([代理插件路径])`→加载CRX格式的代理扩展。
4. 调试元素定位与交互
- 在Chrome中按`Ctrl+Shift+I`
打开开发者工具→使用“Elements”面板复制CSS/XPath选择器。
- 示例代码:
python
input_box = driver.find_element_by_id("search-input") 通过ID定位元素
input_box.send_keys("自动化测试") 输入文本
submit_button = driver.find_element_by_css_selector("[type='submit']") CSS选择器定位
submit_button.click() 点击提交
5. 捕获异常与日志记录
- 使用`try-except`结构捕获超时错误:
python
from selenium.webdriver.support.ui import WebDriverWait
wait = WebDriverWait(driver, 10) 等待最多10秒
element = wait.until(lambda d: d.find_element_by_id("target-element")) 显式等待条件
- 启用日志:`options.set_logging_prefs({"browser":"ALL"})`→在脚本中打印`driver.get_log("browser")`。
6. 集成TestNG框架(Java示例)
- 添加依赖:在`pom.xml`中引入Selenium和TestNG库。
- 测试类代码:
java
@BeforeClass
public void setUp() {
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--no-sandbox"); // Linux权限设置
driver = new ChromeDriver(options);
}
@Test
public void testLogin() {
driver.get("https://www.loginpage.com");
assertEquals("登录成功", driver.getTitle());
}
7. 模拟移动设备测试
- 添加User-Agent模拟:`options.add_argument("user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X)")`。
- 使用内置设备模拟器:在Chrome的“Device Mode”工具栏中选择手机型号→复制生成的参数到脚本:
python
mobile_emulation = {"deviceName":"Nexus 5"} 或手动设置
分辨率
options.set_experimental_option("mobileEmulation", mobile_emulation)
8. 批量执行测试用例
- 使用pytest框架运行多脚本:在命令行输入`pytest test_directory/*.py ---report report.`。
- 结合Jenkins持续集成:配置任务→执行Shell脚本`python -m unittest discover -s tests/`。