为了账号安全,请及时绑定邮箱和手机立即绑定

TypeError:无效的定位器

TypeError:无效的定位器

拉丁的传说 2019-04-24 16:15:00
获取错误TypeError:无效的定位器我已经制作了可重用的函数来检查是否通过在参数中传递定位符来显示元素。请看一下代码。export function checkDisplay(Locator) {    expect(element(Locator).isDisplayed()).to.be.true;}var abc= by.css('mycss');checkDisplay(abc)我在这个函数中传递abc定位器,但它仍然抛出这个错误。以下是错误。at Object.check [as checkedLocator] at thenableWebDriverProxy.findElementsat ptor.waitForAngular.then at ManagedPromise.invokeCallback_
查看完整描述

5 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

对于编写常用函数,可以使用javaScript mixin。它允许我们创建有用或常用函数的对象,并将其合并到任何类的原型中。量角器使用元素来定位返回ElementFinder对象的webElement。您可以为ElementFinder类创建mixin。我只是给你一个样本,然后你可以更多地探索它。


ElementFinderMixin = {


           function1() {},

           function2() {},


           function checkDisplay() {

    expect(this.isDisplayed()).to.be.true;}

}


Object.assign(Object.getPrototypeOf(element('')), ElementFinderMixin);

所以前面的代码将使所有三个函数成为ElementFinder类的一部分。这意味着您可以在代码中的任何位置访问CheckDisplay()函数。


防爆。


button = element(by.css('locator'));

button.checkDisplay();


查看完整回答
反对 回复 2019-05-17
?
杨魅力

TA贡献1811条经验 获得超6个赞

您可以使用以下代码段。


 export function checkDisplay(webElement) {

        expect(webElement.isDisplayed()).to.be.true;

    }


    var abc= element(by.css('mycss'));

    checkDisplay(abc)


      or


     checkDisplay(element(by.css('mycss')))


查看完整回答
反对 回复 2019-05-17
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

试试下面的一个


export function checkDisplay(Locator) {

    expect(element(Locator).isDisplayed()).to.be.true;

}


var abc= "by.css('mycss')";


checkDisplay(abc);

希望它能帮助你


查看完整回答
反对 回复 2019-05-17
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

试试这个


import { protractor, browser } from 'protractor';


export function checkDisplay(Locator) {

  var abc = element(Locator);


  // Check whether element is identified or not??    

  var EC = protractor.ExpectedConditions;

  browser.wait(EC.visibilityOf(abc), 30000, "abc element Could not found");


  expect(abc.isDisplayed()).to.be.true;

}


var abc = by.css('mycss');

checkDisplay(abc);


查看完整回答
反对 回复 2019-05-17
  • 5 回答
  • 0 关注
  • 673 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信