我在Selenium 2 Grid上运行我的实习单元测试。当所有测试正常执行时,这可以正常工作此外,测试中的运行时错误也得到了正确处理:测试报告为失败,其他测试继续执行。
其他一些类型的错误虽然没有得到妥善处理:
由于我想在构建中集成测试执行,我更喜欢测试完成并释放其资源,即使出现错误。
我确实查看了以下来源,表明我应该设置正确的超时,但没有成功:
https://code.google.com/p/selenium/wiki/Grid2
https://docs.saucelabs.com/reference/test-configuration/#timeouts
这是我的测试设置:
我用以下方式启动集线器:
java -jar selenium-server-standalone-2.42.2.jar -role hub -timeout=20 -browserTimeout=60
我用:
启动一个节点java -jar selenium-server-standalone-2.42.2.jar -role node -hub http://192.168.29.1:4444/grid/register -browser browserName=internetexplorer,version=10,maxInstances=1,platform=VISTA -browser browserName=chrome,version=35,maxInstances=3,platform=VISTA
然后我开始测试:
node node_modules\intern\bin\intern-runner.js config=picard\tests\intern
这是实习生配置文件的内容:
define({
proxyPort: 9000,
proxyUrl: 'http://192.168.29.1:9000/',
capabilities: {
'selenium-version': '2.42.2',
'max-duration': 30
//'idle-timeout': 30
},
environments: [
{ browserName: 'internetexplorer', version: '10', platform: 'VISTA' },
{ browserName: 'chrome', version: '35', platform: 'VISTA' }
],
maxConcurrency: 3,
useSauceConnect: false,
webdriver: {
host: 'localhost',
port: 4444
},
useLoader: {
'host-node': 'dojo/dojo',
'host-browser': 'node_modules/dojo/dojo.js'
},
loader: {
packages: [
{ name: 'cbtree', location: 'external/cbtree' },
{ name: 'dgrid', location: 'external/dgrid' },
{ name: 'put-selector', location: 'external/put-selector' },
{ name: 'xstyle', location: 'external/xstyle' }
]
},
suites: [
'picard/tests/crashingtest,
'picard/tests/passingtest
],
functionalSuites: [ ],
excludeInstrumentation: /^(node_modules|dojo|dojox|dijit|dgrid|xstyle|external)/
});
如何配置我的测试,以便即使发生错误,实习生完成执行并关闭浏览器窗口? 此致,约翰
答案 0 :(得分:0)
在每次测试结束时,您都需要调用一个方法来为您处理selenium清理。这样,如果由于错误而导致失败,则仍应调用此方法,并将为您关闭浏览器。
应该处理清理的方法的通用名称是afterEach(function ())