Saucelabs Team Tunnel,共享测试
Saucelabs Team Tunnel, sharing tests
如何设置 Saucelabs 以在团队中工作、查看共享测试和共享 sauce connect 隧道
-克里斯托斯
所以我只花了几个小时让它工作,但我没有找到任何资源将所有这些都列在一个地方。所以我想我会记录如何让 Saucelabs 在团队环境中工作。
这是我的假设:
- 您正在Python工作(大部分概念将适用于跨语言)
- 您有一个付费的 saucelabs 帐户
- 您有一个主账户,一个子账户
- 您希望 "sauce connect" 隧道能够被整个团队使用
- 您希望整个团队都有权查看自动化测试
以下是我设置环境的方式:
共享隧道
设置 sauce 使用主帐户 ID 和密钥连接隧道,为其命名并将其标记为共享隧道
sc -u main_account_id -k your_api_key --shared-tunnel --tunnel-identifier your_tunnel_name
这会在 main_account_id 上创建隧道,为隧道命名,并在您的团队中共享它
运行 测试来自 bulk_user
我设置了一个名为 "bulktests" 的 saucelabs 用户,仅用于自动化测试。我想要一个通用帐户来 运行 自动测试。主要用户帐户不是批量测试的选项,因为如果你 运行 从主要用户帐户进行测试,除了主要用户之外没有人会能够看到他们。测试只能在兄弟帐户之间共享。拥有 bulktests 用户后,我使用他们的 ID 和 api 密钥在 Python 中连接了我的 sauce 客户端。
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 there
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")
团队成员查看结果
每个测试完成后,团队成员可以转到他们的存档页面,然后您必须搜索测试才能看到共享的测试。默认情况下存档页面不会显示所有测试,您必须为之前创建的批量用户搜索测试
如何设置 Saucelabs 以在团队中工作、查看共享测试和共享 sauce connect 隧道
-克里斯托斯
所以我只花了几个小时让它工作,但我没有找到任何资源将所有这些都列在一个地方。所以我想我会记录如何让 Saucelabs 在团队环境中工作。
这是我的假设:
- 您正在Python工作(大部分概念将适用于跨语言)
- 您有一个付费的 saucelabs 帐户
- 您有一个主账户,一个子账户
- 您希望 "sauce connect" 隧道能够被整个团队使用
- 您希望整个团队都有权查看自动化测试
以下是我设置环境的方式:
共享隧道
设置 sauce 使用主帐户 ID 和密钥连接隧道,为其命名并将其标记为共享隧道
sc -u main_account_id -k your_api_key --shared-tunnel --tunnel-identifier your_tunnel_name
这会在 main_account_id 上创建隧道,为隧道命名,并在您的团队中共享它
运行 测试来自 bulk_user
我设置了一个名为 "bulktests" 的 saucelabs 用户,仅用于自动化测试。我想要一个通用帐户来 运行 自动测试。主要用户帐户不是批量测试的选项,因为如果你 运行 从主要用户帐户进行测试,除了主要用户之外没有人会能够看到他们。测试只能在兄弟帐户之间共享。拥有 bulktests 用户后,我使用他们的 ID 和 api 密钥在 Python 中连接了我的 sauce 客户端。
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 there
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")
团队成员查看结果
每个测试完成后,团队成员可以转到他们的存档页面,然后您必须搜索测试才能看到共享的测试。默认情况下存档页面不会显示所有测试,您必须为之前创建的批量用户搜索测试