Saucelabs Team Tunnel,分享测试

时间:2016-01-28 17:58:54

标签: python selenium saucelabs

如何设置Saucelabs在团队中工作,查看共享测试以及共享酱油连接隧道

-Chris Toews

1 个答案:

答案 0 :(得分:1)

所以我花了几个小时才开始工作,我找不到任何资源在一个地方列出所有这些。所以我想我会记录如何让Saucelabs在团队环境中工作。

以下是我的假设:

  • 您正在使用Python(大多数概念将应用跨语言)
  • 您有一个付费的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")

团队成员查看结果

每次测试完成后,团队成员可以转到他们的存档页面,然后您必须搜索测试以查看共享测试。默认情况下,存档页面不会显示所有测试,您必须为之前创建的批量用户搜索测试