如何设置Saucelabs在团队中工作,查看共享测试以及共享酱油连接隧道
-Chris Toews
答案 0 :(得分:1)
所以我花了几个小时才开始工作,我找不到任何资源在一个地方列出所有这些。所以我想我会记录如何让Saucelabs在团队环境中工作。
以下是我的假设:
以下是我设置环境的方法:
分享隧道
使用主帐户ID和密钥设置sauce连接隧道,为其指定名称并将其标记为共享隧道
sc -u main_account_id -k your_api_key --shared-tunnel --tunnel-identifier your_tunnel_name
这使得main_account_id上的隧道成为隧道的名称,并在整个团队中共享
从bulk_user运行测试
我设置了一个名为“bulktests”的saucelabs用户,仅用于自动化测试。我想要一个通用帐户来运行自动化测试。主用户帐户不是批量测试的选项,因为如果您从主用户帐户运行测试,除主用户之外的任何人都无法看到它们。测试只能在兄弟帐户之间共享。一旦我获得了批量测试用户,我就使用他们的ID和api密钥在Python中连接我的酱汁客户端。
self.driver = webdriver.Remote(
command_executor='http://' + bulkuser + ':' + bulk_user_api_key + '@ondemand.saucelabs.com:80/wd/hub',
desired_capabilities=desired_capabilities_dictionary)
使用共享隧道
我必须提供我想要共享隧道ID的所需功能。我还必须提供所需的功能,即它是“parentTunnel”
desired_cap = {
'platform': "Windows 7",
'browserName': "firefox",
'name': "dummyTest",
"parentTunnel":"mainAccountID",
"tunnelIdentifier": "your_tunnel_name"
}
让测试可用于团队
saucelabs文档让您相信,可以在所需的功能中完成与团队的共享设置。我发现这在我的测试中不起作用。这是我能够分享测试的方式。我制作了一个sauce_client对象(我在测试结束时使用它将结果推送到saucelabs),然后我设置public = team
self.sauce_client = SauceClient(sauceuser, saucecode)
# sauceuser and saucecode defined earlier, this is the bulk_user to run my automated tests
self.driver = webdriver.Remote(
command_executor='http://' + sauceuser + ':' + saucecode + '@ondemand.saucelabs.com:80/wd/hub',
desired_capabilities=desired_cap)
self.sauce_client.jobs.update_job(self.driver.session_id, public="team")
团队成员查看结果
每次测试完成后,团队成员可以转到他们的存档页面,然后您必须搜索测试以查看共享测试。默认情况下,存档页面不会显示所有测试,您必须为之前创建的批量用户搜索测试