【发布时间】:2015-10-30 15:36:52
【问题描述】:
我已经为 the Intern 编写了一些功能测试,据说应该可以在 SauceLabs、BrowserStack、TestingBot 或我自己的 Selenium 网格上运行。
虽然相同的代码似乎不适用于所有服务。我最初在 SauceLabs 上进行了功能测试,所以可以说,我将该服务用作我的“基础”。
在 BrowserStack 上,测试似乎失败了,因为命令执行得太快了。例如,我使用.pressKeys('TEST\nIN\nPROGRESS\n'),其中\n应该在页面上执行javascript,将前面的文本变成一个标签(就像这个问题的SO标签:[intern] [javascript] [testing])。
该命令应产生以下结果:
[TEST] [IN] [PROGRESS]
但结果却是
[TESTIN] [PROGRESS]
导致我的断言失败。将pressKeys 命令更改为
.pressKeys('TEST\n')
.sleep(500)
.pressKeys('IN\n')
.sleep(500)
.pressKeys('PROGRESS\n')
没有解决问题。测试通过/失败不一致,标签有时显示为[TEST] [IN] [PROGRESS],有时显示为[TESTIN] [PROGRESS]。
另一个例子是,当我在链接上.click() 时,它不会总是等待下一页加载,即使之后使用.sleep() 命令也是如此。
关于 TestingBot,应用程序完全无法上传文件,我终其一生都无法弄清楚如何启用所需的 file_watcher 服务。他们有一个file upload example here,但我不知道如何配置实习生来为我做这件事。
实习生不应该为测试处理云提供商的这些差异吗?
是否有一些标准化的方法可以在实习生中编写我的测试,这样我就可以在不更改测试本身的情况下更改我的云测试提供商?
【问题讨论】:
标签: javascript testing automated-tests intern