【问题标题】:Selenium get sub elements or getText()Selenium 获取子元素或 getText()
【发布时间】:2017-12-06 15:01:21
【问题描述】:

我对 Selenium 和 Protractor 非常陌生。我有以下代码:

<button id="createPage" data-button-error="true" class="concierge-button button error is-disabled" data-ng-disabled="!newPageReady" data-ng-class="{ 'error': errors.button, 'is-disabled error' : errors.button  }" data-ng-click="createnewstudioitem(designerItems[0], conciergetitle, $event)" style="">

<div class="summary">
  <label class="error ng-binding ng-scope" data-ng-if="errors.error || errors.category" data-ng-bind="errors.message">Remove special characters</label>
</div>

我正在使用硒和量角器。我正在尝试要么获取data-button-error="true" 的值,或者我正在尝试查看是否存在Remove special characters 的值。原因是我想验证是否添加了特殊字符,是否有消息 Remove special characters 并且 data-button-error="true"false 更改为 true

我试过了:

        var addSpecialText = element.all(by.css(".error")).first();;
        expect(addSpecialText.getText()).toEqual('Remove special characters');

        var addSpecialText = element.all(by.css(".error"));
        expect(addSpecialText.get(0).getText()).toEqual('Remove special characters');

            var addSpecialText = element.all(by.css(".error")).getAttribute("innerText");

【问题讨论】:

  • 我认为此错误消息未附加到 dom,因此您将无法验证它。您要验证的一件事是此类是否设置为 true。

标签: selenium automation protractor


【解决方案1】:

使用 selenium 获取数据按钮错误:

String data = driver.findElement(By.id("createPage")).getAttribute("data-button-error");

使用 selenium 获取“删除特殊字符”:

String data = driver.findElement(By.cssSelector(".summary label")).getText();

【讨论】:

  • 我需要将驱动程序添加到我的项目中。我收到驱动程序错误。
  • 是的,你的项目需要 selenium webdriver [link] (docs.seleniumhq.org/download) WebDriver driver = new ();例如:WebDriver driver = new FirefoxDriver();
  • 您也可以在此处找到详细步骤 [链接] (toolsqa.com/selenium-webdriver/…)
猜你喜欢
  • 2017-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
  • 1970-01-01
  • 2021-12-25
  • 2017-01-16
  • 1970-01-01
相关资源
最近更新 更多