测试


ChromeDriver项目主页:

ChromeDriver , 一款开源工具 , 提供跨浏览器自动测试页面应用 . 提供引导页面 , 用户输入 , 脚本执行等功能 . 实现Chromium协议的独立服务 . 安卓系统以及PC系统(Mac, Linux, Windows, ChromeOS)的Chorme浏览器中可以运行 .

NW.js提供自定义ChromeDriver完成自动测试基于NW.js开发的应用 , 可以通过类似于selenium工具进行使用 .

开始

以下过程是使用selenium-python进行测试 . 同样可以使用Selenium支持的其他语言调用chromedriver .

安装

  • 从官网下载SDK构建方式的NW.js , 其中包含ChromeDriver工具 .
  • 解压下载的文件 , chromedriver在解压的NW.js目录中 , Linux系统中名为nw , Windows系统中名为nw.exe , Mac系统中名为node-webkit.app
  • 安装selenium-python到python环境中 :
pip install selenium

运行

假设你的应用远程查询内容 . 页面代码大致如下:

<form action="http://mysearch.com/search" method="GET">
    <input type="text" name="q"><input type="submit" value="Submit">
</form>

编写一个python脚本自动填充搜索框并提交表单:

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("nwapp=/path/to/your/app")

driver = webdriver.Chrome(executable_path='/path/to/nwjs/chromedriver', chrome_options=chrome_options)

time.sleep(5) # 等待5秒 , 查看页面
search_box = driver.find_element_by_name('q')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5) # 等待5秒 , 查看搜索结果
driver.quit()

参考http://selenium-python.readthedocs.org/详细文档 .

修改chromedriver工具

  • 被修改的chromedriver工具默认在NW可执行相同目录下 .

  • 如果需要传递参数给命令行 , 需要使用选项nwargs:

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("nwapp=/path/to/your/app")
chrome_options.add_experimental_option("nwargs", ["arg1", "arg2"])

driver = webdriver.Chrome(executable_path='/path/to/nwjs/chromedriver', chrome_options=chrome_options)