我一直在尝试使用下面的代码片段来检查我要查找的元素是否存在,但是我得到的只是“失败:使用定位器找不到元素:By(cssselector,.icon-cancel)”.我想让程序做的是执行b()element(by.css('.icon-cancel')).isDisplayed().then(function(result){if(result){a();}else{b();}}); 最佳答案 isDisplayed()如果元素实际上不存在于DOM树中,则会失败。你需要isPresent()方法代替:$('.icon-cancel'
我想通过将文件拖动到页面中的放置区来测试文件上传,但是我找不到模拟从桌面文件夹拖动文件的方法。我设法找到的唯一方法是以下方法-desktop.browser.actions().dragAndDrop(elem,target).mouseUp().perform();(Protractor)但据我所知,它只拖动css元素。 最佳答案 这是一个模拟文件从桌面放到放置区域的工作示例:constdropFile=require("./drop-file.js");constEC=protractor.ExpectedConditions;
我正在使用Protractor进行带Angulare2e测试,并且我拼命地尝试获取带有header和正文的HTTP请求日志。我已经像这样配置了Protractor:{useAllAngular2AppRoots:true,ignoreUncaughtExceptions:true,maxSessions:1,multiCapabilities:[{'name':'desktop','browserName':'chrome',loggingPrefs:{"driver":"ALL","browser":"ALL",'performance':'ALL'},chromeOptions:{
我一直在为我的angularjs应用程序编写端到端测试,但我无法解决这个问题。我有一张包含数据的表格。我想提取第一行数据。我在ProtractorelementExplorer中做了这个,它打印出了所有3列的值element.all(by.repeater('iteminitems.list')).get(0).getText()JamesByrne1如果我这样做,它会打印出第一列的值element.all(by.repeater('iteminitems.list')).get(0).element(by.css('td')).getText()WARNING-morethanone
当我尝试从命令行运行Protractor测试时,我的所有测试都失败了,因为每当我尝试访问protractor对象时,它都没有我需要的方法。确切的错误是:TypeError:Object#hasnomethod'getInstance'所以这似乎是一个reported和fixed问题,但我似乎无法解决我的特殊情况。它似乎也与this半相关问题,但因为它是在更新我的node_modules后出现的,我觉得我的根本问题是不同的。在更新我的Protractor之前一切正常。我在全局安装它并使用npmlinkprotractor将我的本地实例链接到我的全局实例(位于/usr/local/lib/
我正在尝试在我的Protractor测试中使用try-catchblock,请看下面的代码:try{element(by.id('usernameas')).sendKeys(data);}catch(err){console.log('erroroccured');}我故意传递错误的定位器来检查它是否进入catchblock,目前它在命令提示符下给我错误NoSuchElementError并且测试执行停止而不是进入catchblock。请提出建议。 最佳答案 对element(locator).sendKeys的调用返回一个已解决
我使用Protractor已经是第三天了,在等待页面加载和元素出现方面,我经常遇到问题。这个测试用例尤其变得丑陋,我想解决问题而不必依赖sleep。我目前“在AngularJS领域之外”it('itshouldreflectinboththefieldandthetitlewhenthepersonnelnameischanged',function(){varinputField,personnelHeader,personnelName;personnelName=element(By.css(".overlay.editnameoverlay")).click();personn
我是Protractor的新手。我想我在处理Angular页面时已经记下了这一点,但对于非Angular页面却无法弄清楚。任何帮助,将不胜感激。describe('Search',function(){it('shouldclickSearchbuttonandwaitforresults',function(){browser.driver.findElement(by.id('search')).click();});}); 最佳答案 使用Protractor测试非Angular页面在等待内容方面可能会很棘手。我建议您将Prot
假设我有10个规范文件都命名为*********.test.js,我想对除文件Idontwantyou之外的所有9个文件运行我的测试.test.js.目前我在我的config.file中找到我的规范文件:specs:['*.test.js']-这将运行所有10个文件。如何让它运行所有9个测试文件但跳过Idontwantyou.test.js? 最佳答案 您可以通过将规范添加到conf.js文件的排除标记中来排除规范。您还可以添加模式以排除许多具有相似名称的测试脚本。这是如何做到的-exclude:['Idontwantyou.tes
如何在我的功能场景中使用标签?如何知道调用我函数的场景?实际上我有一种情况:Feature:createmodulefeatureAsaadminIwanttousecreatemodule@createModuleGivenIamloggedas'ADMIN'AndIamon"/admin/create"ThenThe"book_id"fieldshouldbeempty我想在我的函数中使用我的标签@createModule然后:this.Then(/^The"?([^"]*)"?fieldshouldbeempty$/,function(el){if(myModule===@cre