当前位置: 首页 > 知识库问答 >
问题:

Cypress test get在从命令行运行时失败,但如果从Cypress test runner运行则通过

钱志
2023-03-14

我正在尝试执行搜索文本字段中的位置搜索。在键入地名的同时,系统会在搜索字段下显示地点的自动完成。我已经在cypress中使用触发器mousedown编写了测试,以获取自动完成项。

 describe('Search for places', function() {
 it.only('Verify the search is working fine', function() {  
 cy.visit('url')
 cy.get('#search-button').click();
 cy.get('input[type="text"]').type("Salis");
 //cy.get('input[placeholder="Start typing a suburb, city, station or uni"]').parents('.form-container').find('div').find('div').find('input').type("Salis");
 cy.contains('span', 'bury, Brisbane').click();
 //cy.get('.input-autocomplete').find('div.row').eq(0).click(); 
 cy.get('div:contains(" Flatmates")').parents('.search-modes').find('div').find('div').contains(" Flatmates").click();
 cy.get('a:contains("+ Advanced filters")').parents('.show-advanced-wrapper').find('p').find('a').click();
 cy.get('#search-submit > div').contains("Search Flatmates").click();
 cy.get('.section-heading > div > h1').invoke('text').then((text)=>{
    const stext = text;
    expect(stext).to.equal('Salisbury Housemates & Roommates');
 })
  Cypress.on('uncaught:exception', (err, runnable) => {
    // returning false here prevents Cypress from
    // failing the test
   return false
    })
  })

 })

测试在Cypress test runner(UI)中成功运行。但从命令行运行时,它抛出cypresserror:重试时超时:应找到元素:'.input-autocomplete',但从未找到。

检查自动完成项的html时,自动完成项会消失,因此无法获得正确的html标记。知道那个错误的原因是什么吗?或任何其他获得自动完成项的稳定方法。

共有1个答案

寇宏义
2023-03-14

我无法解释Cypress:Open和Cypress:Run的结果之间的区别(猜测是内存相关的),但是您所展示的测试有一些问题。

首先,展示整个测试,而不是只展示一行代码--你很难通过展示零碎的代码来帮助你。

.trigger('mousedown',{which:1})后跟.click()是多余的。用一种或另一种方法。click()更适合从列表中进行选择。

给出最新的信息,我会去点击特定的文本内容,假设自动完成列表总是出现相同的建议进入“salis”。

cy.get('input').type('Salis');  // How do you type 'Salis'?
cy.contains('span', 'bury, Brisbane').click();
 类似资料:
  • 问题内容: 我有两个运行Windows Server 2012的虚拟机。一个运行Jenkins,另一个运行Jenkins的构建作业之一。作业从Subversion中检出测试代码,然后在Windows批处理脚本中运行。该测试可以编译并运行,但是会失败,并显示。这些是使用Selenium和Firefox驱动程序的TestNG测试。 如果我使用完全相同的命令并从Windows命令行运行它,则测试成功。我

  • 当我在命令行中运行TestNG时,抛出异常: c:\test>java org.testng.testng testng.xml线程“main”java.lang.noClassDefounderror:com/beust/jcommander/parameterexception在java.lang.class.getDeclaredMethods0(本机方法)在java.lang.class.

  • 问题内容: 到目前为止,我主要使用eclipse。现在,我正在尝试从终端运行Java,但程序包存在问题。 这是我的文件: 我使用编译此代码,然后运行,它给我: 当我删除一切正常。我想念什么? 给出: 问题答案: 您需要在一个目录级别上运行java命令,并以完全合格的软件包名称提供它,例如: 请参阅Java Launcher如何查找用户类 以了解其工作方式。

  • 问题内容: 当我尝试从PyCharm IDE运行程序时,一切正常,但是如果我输入Fedora: 在shell提示中,我从1个模块收到导入错误。 当从IDE启动时,PyCharm可以执行哪些操作以使解释器找到我的依赖项?如何获得脚本以找到其依赖项,以便可以使用singe命令启动它? 问题答案: 有一些可能的原因可能导致这种情况: 相同的python解释器?检查与 它是同一工作目录吗?检查与 中的差异

  • 有人能发布详细的分步说明如何安装Saxon(10 HE)以及如何从MacOS(10.13.6)中的命令行运行转换吗? 我已经在我的计算机上安装了Java 我已经下载了SaxonHE10-6J。来自SourceForge的zip文件 根据这里的建议,我放置了saxon-he-10.6。jar位于myUserName/Library/Java/Extensions文件夹中 然后,我打开终端应用程序并根

  • 问题内容: 我有一些工作做典型,,一个网站的行动。在我看来,没有什么特别不寻常的。 (实际上,它与Aurelia TypeScript框架非常相似。) 大多数团队使用PowerShell / Command提示符并使用VS Code / Sublime进行编辑来进行前端开发。一些团队使用Visual Studio 2015做同样的事情。 从命令提示符运行任务可以正常工作,但是如果我们从Visual