小编use*_*016的帖子

如何使用 Cypress.io 检查元素是否存在

如何检查元素是否存在,以便在元素存在的情况下可以执行某些步骤。否则,如果元素不存在,则可以执行某些不同的步骤。

我尝试了类似下面的方法,但没有奏效:

Cypress.Commands.add('deleteSometheingFunction', () => {
  cy.get('body').then($body => {
    if ($body.find(selectors.ruleCard).length) {
      let count = 0;
      cy.get(selectors.ruleCard)
        .each(() => count++)
        .then(() => {
          while (count-- > 0) {
            cy.get('body')
            // ...
            // ...
          }
        });
    }
  });
  });
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个简单的解决方案,它可以与简单的 javascript if else block 或then()部分合并

类似于 Webdriver 协议的以下实现:

  1. driver.findElements(By.yourLocator).size() > 0
  2. 检查等待中元素的存在

好心提醒。谢谢

javascript selenium-webdriver cypress

39
推荐指数
4
解决办法
6万
查看次数

使用新的Appium-java TouchActions的ClassCastException

我在新的TouchActions课程中遇到错误.

  • JDK版本:1.8
  • 鸦片:1.7.2
  • appium.java-client.version:6.0.0-BETA2
  • selenium.java.version:3.8.1

 

TouchActions actions = new TouchActions(appiumDriver);
Run Code Online (Sandbox Code Playgroud)

运行时错误:

java.lang.ClassCastException:io.appium.java_client.ios.IOSDriver无法强制转换为org.openqa.selenium.interactions.HasTouchScreen

然而,旧的以下工作都很好:

TouchAction touchAction = new TouchAction(appiumDriver);
Run Code Online (Sandbox Code Playgroud)

appium

8
推荐指数
1
解决办法
4749
查看次数

如何在carthage上安装旧版本

我需要使用carthage来运行Appium测试.虽然Appium社区仍在努力支持XCode9.2,但我们需要依赖XCode 8.3.3 OS:MacOS High Sierria XCode版本:XCode 8.3.3 Java:1.9

但是当我运行命令brew install carthage时,我得到以下错误:

Error: Your Xcode (8.3.3) is too outdated.
Run Code Online (Sandbox Code Playgroud)

请参考下面的链接,这意味着-XCode9对Appium的支持尚未推出

[ https://github.com/facebook/WebDriverAgent/issues/639] [1 ]

请建议同时解决.谢谢

xcode ios appium carthage appium-ios

7
推荐指数
1
解决办法
3828
查看次数

如何在 Cypress.io 中的各种文件之间共享描述()块,类似于 Mocha 的“共享行为”设施

我正在开发一个 Web 测试自动化框架,并且希望通过另一个describe()cypress ..spec.js文件中存在的方法,在一个 cypress ..spec.js 文件中的块中提供一些功能?

请阅读Mocha 中提供的 共享行为工具: https://github.com/mochajs/mocha/wiki/Shared-Behaviours 在此输入图像描述 在此输入图像描述

我尝试过,但它不起作用。1.是否可以实现类似于Mocha Shared步骤的东西(如上所述)?2.或者有类似Cucumber-ruby/Pico-container的WORLD对象的东西吗?

好心提醒。

在此输入图像描述

mocha.js picocontainer cypress

6
推荐指数
1
解决办法
1033
查看次数

如何在 Browserstack-Automate/App-live 上运行基于 ReactNative 的应用程序?

我的测试应用程序是基于 ReactNative 的本机应用程序(Android 和 iOS) 存在对“Metro Bundler”的依赖,以便填充数据。尝试访问 Browserstack 上的开发应用程序时,如何确保运行 Metro Bundler 依赖项?

谢谢

browserstack

5
推荐指数
1
解决办法
637
查看次数

无法在 Mac High Sierra 上打开 UIAutomatorviewer

我们有配备 High Sierra (10.13.6) 的全新 MacBook。其他系统信息:

JAVA Version: java version "11.0.1" 2018-10-16 LTS
Run Code Online (Sandbox Code Playgroud)

Java(TM) SE 运行时环境 18.9(构建 11.0.1+13-LTS)

JAVA_HOME:/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

当尝试打开 Android UIAutomatorViwer 时,我们收到以下错误:

/Library/Android/sdk/tools/bin/uiautomatorviewer ; exit;
Run Code Online (Sandbox Code Playgroud)

不支持 /Library/Android/sdk/tools/lib。请改用 -classpath。错误:无法创建 Java 虚拟机。错误:发生了致命异常。程序将会退出。注销 保存会话... ...复制共享历史... ...保存历史... 截断历史文件... ...完成。删除过期会话...111 已完成。

更多细节:Java 位于:/usr/bin/java

在此处输入图片说明

java selenium appium android-uiautomator detox

4
推荐指数
1
解决办法
1万
查看次数

如何在一个会话中测试两个网站

我们正在致力于多层服务驱动的项目。CRM驱动的UI项目用于设置规则引擎。(UI - 我们使用 Cypress.io 自动化此操作)

更改需要几分钟才能反映在面向最终用户的前端应用程序中(它也由 Cypress.io 框架单独涵盖)

We would like to have e2e UI tests, which starts first on Rules engine and same test should wait for few minutes & then continue to check the affect on Frontend UI

In selenium we could do something like -

driver.get("http://www.siteA.com/rules");//internal rules engine CRM
..
..    
driver.manage().timeouts().implicitlyWait(5, TimeUnit.MINUTES);
..
..
driver.get("http://www.siteB.com/public");//customer facing Frontend
Run Code Online (Sandbox Code Playgroud)

Is it possible to achieve something similar in Cypress.io

Thanks

cypress

1
推荐指数
1
解决办法
1838
查看次数