【发布时间】:2012-06-27 03:30:38
【问题描述】:
我正在尝试在浏览器上运行 WebDriverJS,但文档对于如何使其控制主机浏览器有些模糊。在这里,它说:
启动浏览器以针对另一个浏览器运行 WebDriver 测试有点多余 (与简单地使用节点相比)。相反,在浏览器中使用 WebDriverJS 旨在 使实际运行脚本的浏览器自动化。只要知道服务器的 > URL 和浏览器的会话 ID,就可以完成此操作。虽然这些值可能是 直接传递给构建器,它们也可以使用 wdurl 和 wdsid 定义 “环境变量”,从加载页面的URL查询数据中解析出来的:
<!-- Assuming HTML URL is /test.html?wdurl=http://localhost:4444/wd/hub&wdsid=foo1234 -->
<!DOCTYPE html>
<script src="webdriver.js"></script>
<input id="input" type="text"/>
<script>
// Attaches to the server and session controlling this browser.
var driver = new webdriver.Builder().build();
var input = driver.findElement(webdriver.By.tagName('input'));
input.sendKeys('foo bar baz').then(function() {
assertEquals('foo bar baz',
document.getElementById('input').value);
});
</script>
我想从 Node.js 打开我的测试页面,然后运行客户端脚本中包含的命令。但是,我不知道在构建会话时如何提取会话 ID(wdsid 查询参数)。有人知道吗?
【问题讨论】:
标签: javascript node.js selenium webdriver