【问题标题】:Web Test framework for Mobile as well as Server browsers移动和服务器浏览器的 Web 测试框架
【发布时间】:2017-04-13 02:22:23
【问题描述】:

是否有任何可用的框架可供我为服务器浏览器和移动浏览器编写一组测试代码。

例如。 test.py 在 Android 和 Windows 上与 Chrome 一起运行

我计划使用 browserstack 进行测试,直到我确定是否可以使用 browserstack 进行基础设施处理。

请帮我找出一种方法来决定基础设施。

【问题讨论】:

  • 我很难相信您将能够使用相同的代码来测试网络应用程序及其移动版本。

标签: selenium-webdriver automated-tests appium test-framework


【解决方案1】:

你可以试试TestCafe。这是一个开源项目。

TestCafe 允许在桌面和移动浏览器上运行测试,无需任何额外的安装和插件。

在这里您可以看到使用 TestCafe 在手机上运行测试是多么容易:https://twitter.com/DXTestCafe/status/804368394569052160

此外,在云服务(如 BrowserStack 或 Saucelabs)中的移动浏览器上设置测试也很容易。例如,您可以在 GitHub 上找到“testcafe-browser-provider-saucelabs”插件,以便在 Saucelabs 上运行开箱即用的测试。

【讨论】:

  • 不知道为什么,但是当我用 Testcafe 运行测试时,登录需要超过 25-30 秒才能加载主页。 Selenium Webdriver 不会发生这种情况,它会在正常网络上登录后在不到 10-15 秒的时间内加载主页。
  • 可能是不同的原因。如果您提供经过测试的页面 url,将会非常有帮助。我会检查这种行为。通常,TestCafe 不会减慢页面加载速度
【解决方案2】:

Selenium + Appium 应该能够涵盖你需要做的事情。但是,要共享代码,您需要使用移动浏览器(Chrome 或 Safari)或拥有使用与浏览器版本相同的 web 视图的应用程序。

Selenium 绑定将处理驱动浏览器的自动化。就其本身而言,您可以测试具有正常大小屏幕的桌面浏览器以及移动大小的屏幕,并且还可以测试各种浏览器(Chrome、Firefox 等)。

Appium 将允许您在移动设备或模拟器上打开浏览器(或应用程序),如果 Web 视图与浏览器相同,则您在桌面浏览器和 Selenium 中使用的相同定位器策略将适用于 Appium以及(Appium 使用浏览器功能扩展了 Selenium 规范)。

如果您使用 Selenium Grid 对框架进行编码,那么您几乎可以放弃替换远程托管网格设置(通过 Saucelabs 或 Browserstack)来为您运行浏览器(否则您需要设置本地网格或运行使用本地 Selenium 服务器进行测试)

【讨论】:

    【解决方案3】:

    一切皆有可能

    我可以为服务器浏览器和移动浏览器编写一组测试代码的可用框架

    我们已经在公司内部构建了它,因为我们有大量不同的平台和浏览器需要支持。

    我们在 NodeJS 上使用基于 Selenium 的框架的组合

    • webdriverIO
    • 黄瓜
    • appium

    ...等等

    我们尝试遵循的主要概念是 JAVA 的WORA。要实现这一切,您需要对DSLs、Application driver layer 和设计模式(例如Strategy)有很好的了解。

    将所有这些放在一起并不难,因为 Selenium 几乎支持您需要的所有绑定。只需选择您最熟悉的语言并使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 2013-01-22
      • 2016-07-13
      • 1970-01-01
      • 2015-09-20
      • 2014-08-06
      • 2011-03-10
      相关资源
      最近更新 更多