我在公司内部网上有一个Web服务器,该服务器允许用户提交要使用量角器测试的URL。
所有测试将在此服务器上运行,方法是使PHP为提交的每个URL编写config.js文件,然后使用shell_exec
运行protractor conf[generated-id].js
。
我想一次运行多个量角器测试,以便更快地处理URL队列。
这些URL代表我们产品的不同版本,因此它们将非常相似。
以这种方式同时运行量角器是否安全?测试是否可能以某种方式相互干扰?
我对Selenium Grid不感兴趣,因为我希望所有测试都可以在此计算机上运行(一次2-3次,所以我想保持简单)。
谢谢
答案 0 :(得分:1)
根据我的理解,测试应该是自包含的,并且同时运行多个实例应该不会引起问题。
此答案的其余部分假设如下:
directConnect
有几件重要的事情要知道:
seleniumAddress: 'http://localhost:4444/wd/hub',
中指定硒服务器地址,则它将自动启动并在完成后关闭。/session/:sessionId/element/:id/click
的命令与目标浏览器的会话ID一起发送到Selenium服务器。 Webdriver背后的基础技术是the webdriver wire protocol,它可以确保命令仅到达所需的浏览器。那是我想知道是否可能没有更简单的合适方法,那就是将URL作为参数传递。您的测试将使用browser.get(browser.params.targetURL)
,运行的命令将是protractor conf.js --params.targetURL www.URLToUse.com
。
但是,如果按照您的问题所示,URL被提交并只是排队等待稍后运行,那么您可以编写一个数据驱动的测试,该测试将遍历URL列表并在每个URL上运行相同的测试。