问题标签 [saucelabs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
391 浏览

selenium - python 中带有 SauceLabs webdriver 的 Selenium 将 desired_capabilities 设置为 None

我正在尝试将我的 SauceLabs 执行的 Selenium 1.0 测试转换为 Selenium 2.0。当我创建 selenium.webdriver.remote.webdriver 对象时:

我可以检查它是否创建正确,并且 desired_capabilities 似乎设置为 none 而不是字典。

在我们创建 selenium 对象并调用 selenium.start(driver=driver) 后,这会导致问题:

我得到的错误是:

提前致谢...

0 投票
1 回答
1187 浏览

ruby - Sauce labs 使用有意义的名称进行测试

我正在使用 rspec 和 cucumber 在酱汁实验室进行 watir 测试。

我希望该测试名称(在酱实验室)与 rspec 描述块或黄瓜功能的名称相同。

所以,如果我有 rspec 文件:

或黄瓜文件:

我希望在酱汁实验室也将测试命名为something. 我知道如何向酱实验室说我希望如何命名测试,但我不知道如何在测试运行时获取 rspec 描述块名称或黄瓜特征名称。

更多上下文:我有几个 rspec 文件,并且它们都并行运行,我parallel_tests为此使用 gem。它提供了TEST_ENV_NUMBER变量,所以我用它来命名测试:

所以工作被命名为:工作,工作1,工作2......但如果他们被命名,我会更好:用户,搜索,登录......

0 投票
2 回答
476 浏览

java - SaucelabsVM 中的 Salesforce 登录电子邮件验证

我们想使用 SauceLabs 围绕我们的 SalesForce 实例设置一些测试自动化。我们希望保持它独立于 salesforce 实例本身,因为我们有一个专用的持续集成服务器,它驱动我们跨系统中多个集成点的所有自动化(其中 SalesForce 就是其中之一)。由于这个要求,SauceForce 不能完全满足我们的需要。

我已经成功地设置了一个 Selenium 测试,该测试通过 SauceLabs 访问了我们的 SalesForce 实例,但问题是,因为浏览器是从 SauceLabs 云中 SalesForce 无法识别的 VM 运行的,它会提示输入电子邮件验证码。这对我们来说是一个障碍,因为解决方法太麻烦了。我询问了一些开发人员 - 他们建议将 VM IP 地址添加到例外列表中,但不幸的是,SauceLabs 动态分配 VM IP,因此我们无法在 Salesforce 中为安全例外定义 IP 范围以绕过电子邮件验证提示。

我很好奇 SauceForce 如何解决这个问题 - 有没有人在这方面有见识?请回复如何在 saucelabs 中登录 salesforce?

0 投票
1 回答
2555 浏览

java - 如何使用 Maven 完全自动化 Saucelabs 测试?

这是我试图自动化的工作流程(它是一个 Java 网络应用程序):

  1. 开发人员在 Selenium IDE (w/Firefox) 中创建/编辑测试套件
  2. 该套件在项目存储库中作为 HTML 文件的集合进行维护
  3. 在每个 Maven 构建周期中:
    1. Jetty 容器在本地启动http://localhost:12345(随机端口号)
    2. SauceConnect开始连接我的本地主机和 Saucelabs 网格
    3. HTML 测试套件在网格上执行,针对我的本地容器
    4. SauceConnect 已关闭
    5. 码头集装箱已关闭
    6. 如果测试套件中的任何测试失败 - Maven 构建失败

有可能实现这一目标吗?一个更具体的问题是如何在 Saucelabs 运行 HTML 测试套件?他们有一个非常简短的关于 的文档http://ondemand.saucelabs.com:80/selenium-server/driver/,我可以使用,但我没有找到任何关于它的详细信息。

0 投票
0 回答
662 浏览

selenium - 从 CloudBees 将 Firefox 配置文件发送到 Sauce Labs

我有一个 Selenium 测试,需要将自定义的 firefox 配置文件上传到 Sauce Labs。我已将文件上传到 cloudbees 站点上引用的文件共享存储库:

https://cloudbees.zendesk.com/entries/438491-sharing-files-with-build-executors-such-as-maven-settings-xml

我在我的 Jenkins 工作中启用了 Sauce Connect,并且还配置了用户和 api 密钥。我还为酱实验室上的自定义 Firefox 配置文件使用添加了配置

http://saucelabs.com/docs/additional-config

像这样使用 setCapability 方法:

但是,文件似乎没有像我想象的那样传输。Sauce Connect 是否以某种方式无法与 CloudBees 通信并通过 URL 访问文件?有没有其他方法可以让 Sauce Labs 的 firefox 配置文件在我的测试中使用?

0 投票
1 回答
276 浏览

ruby-on-rails - 带有 EC2 SauceConnect SSH 隧道的 Heroku 调度程序

我们的测试设置有一些独特的情况。基本上我想做的是让 Heroku 以预定的时间间隔使用 Sauce Connect 运行我们的集成测试。Sauce Connect 需要在运行测试之前打开 SSH 隧道,所以我试图让 SSH 隧道在 Amazon EC2 实例上运行。我一直在本地测试它,我的脚本可以成功连接到 EC2,远程启动 SSH 隧道,然后开始在我的本地机器上运行测试。但是,当我登录 Sauce Labs 并查看正在执行的浏览器测试的视频时,每个测试都返回 404 连接被拒绝。当我在 EC2 实例上检查“netstat -an”时,我可以看到与 Sauce Labs 的 SSH 连接已成功建立,但由于某种原因它可以“ t 似乎使用远程 SSH 隧道成功运行测试。有没有人遇到过这个问题,或者可能对为什么这会给出它给出的错误有所了解?谢谢!

0 投票
1 回答
603 浏览

testing - 使用 Selenium 自动测试 UIWebView 内容

我有一个 iPhone 应用程序,其中包含用于呈现某些 UI 方面的 UIWebView。UIWebView 内容通过 NSURLRequests 与 Objective-C 端进行通信。我想用 Selenium 测试 UIWebView 内容,以便它可以自动化。

问题是与本机端的通信,因为这不受 Selenium 支持。因此,需要一种方法来“伪造”Objective-C 端。UIWebView 将请求发送到特定的(不存在的)URL,然后由本机代码解释并处理。当使用 Selenium 运行 UIWebView 的内容时,这些请求总是会失败。

有没有办法以某种方式在 Selenium 中提供支持,允许捕获这些请求并提供虚拟响应,或者有更好的工具吗?

最好,我还想使用 Sauce Labs 或类似的 Selenium 服务运行 Selenium 测试,因此黑客/etc/hosts也不是一种选择。

0 投票
2 回答
2396 浏览

groovy - 如何使用 Geb/Spock 向 Sauce Labs 报告结果?

我想使用 Sauce Labs Java REST API 将通过/失败状态发送回 Sauce Labs 仪表板。我正在使用 Geb+Spock,我的 Gradle 构建创建了一个测试结果目录,结果以 XML 格式输出。我的问题是,在Spock 规范的 cleanupSpec() 退出之前,似乎没有生成结果 XML 文件。这导致我的代码报告上一次测试运行的结果,而不是当前的。显然不是我想要的!

有什么方法可以在不依赖 XML 的情况下从 cleanupSpec() 中获取结果?或者一种让结果更早归档的方法?或者一些替代方案会比其中任何一个都好得多?

一些代码:

build.gradle中,我指定testResultsDir. 这是在 Spock 规范退出后写入 XML 文件的地方:

这是我的 LoginSpec 类中的setupSpec()and :cleanupSpec()

该类的其余部分包含不与 SauceLabs 交互的登录规范。当我阅读 XML 时,发现它是在上一次 LoginSpec 运行结束时编写的。我需要一种方法来获取当前运行的值。

谢谢!

0 投票
3 回答
1231 浏览

selenium - 在 Sauce.io phpunit selenium 测试中动态设置 $browsers 静态属性

我正在使用 SauceLabs 设置一些浏览器测试。我已经能够在本地和通过 Sauce 运行测试,所以我现在尝试将它与我的 Jenkins 安装集成以自动触发构建和浏览器测试。

其中大部分都有效,但我有一个小问题。为了可以在本地和通过 Sauce 运行测试,我想在 phpUnit setup() 函数期间设置 $browsers 静态属性,而不是对其进行硬编码。这似乎不可能。

我正在使用 Sausage 绑定,我的 TestCase 看起来与此演示非常相似:https ://github.com/jlipps/sausage/blob/master/WebDriverDemo.php

我曾尝试在 setUp() 中更新 $browsers 数组,但它似乎从未生效。例如。

有没有办法从 Jenkins 传递浏览器详细信息,以便测试用例更加灵活?我觉得我在这里遗漏了一些简单的东西?

0 投票
1 回答
1691 浏览

python - unittest.testsuite 中的并行测试 TestCases

我正在使用 Python 和 Selenium Webdriver。我有一组包含在 testSuite 中的 testCase,我希望它们并行运行,而不管它们的 testCase 配置如何(其中一些将在本地运行,其中一些将通过 saucelabs 运行)。

我遇到过这个页面。这应该是一个杀手,但它无法在我的单位上正常运行。我尝试运行代码,安装了 twisted.python(脚本的先决条件)、zope-in​​terface(twisted.python 的先决条件),但出现以下错误:

我只是无法检测到问题。

也许有人已经尝试过这个脚本并且它有效?或者如果你们中的任何人尝试过使用其他方法对 unittest.TestSuite 进行并行测试,请与我分享!我已经花了数周时间围绕 SauceLabs 的建议 wd.parallel..。 saucelabs 的示例并行测试代码不适用于我的单元,因为我目前正在运行 2.7.3(我们团队要求的版本),并且需要在和方法声明@wd.parallel.multiply上方添加装饰器不应该是一个选项,因为我正在创建一个脚本,该脚本应该可供未来的 webdriver testCases 轻松使用,并且只需几行代码即可运行它们。runTest()tearDown()