如何使用 nightwatch.js 将值设置为 textarea 属性
How to set value into textarea attribute using nightwatch.js
我正在 nighwatch.js 进行网络 ui 测试,我想为文本区域设置值,文本区域有一个属性,其中包含我的实际文本,我正在编写完整的文本区域以及如何我在下面设置。
<div class="textarea-description">
<textarea cols="50" class="myClass setText" data-def placeholder="text to be replaced using nightwatch"/>
</div>
我正在尝试按以下方式在上述文本区域的属性 data-def 占位符 中设置值
browser.setValue('.textarea-description textarea[type=text]','nightwatch'); or
browser.setValue('.textarea-description textarea[data-def placeholder=text]','nightwatch'); or
browser.setValue('.textarea-description textarea[type=data-def placeholder]','nightwatch');
但没有任何效果。
这可能不是最好的解决方案,但它有效:
browser
.execute("document.querySelector('.textarea-description .myClass').setAttribute('placeholder', 'nightwatch');")
如果你有jQuery,你可以让它更好一点:
browser
.execute("$('.textarea-description .myClass').attr('placeholder', 'nightwatch');")
您可以使用 xpath 获取属性。
.useXpath().setValue('//textarea[contains(@placeholder,'text to be replaced using nightwatch')]@placeholder', 'nightwatch')
How to select specified node within Xpath node sets by index with Selenium?
感谢您提出的所有宝贵建议,您提供的所有建议都能够提供很好的知识,但不幸的是 none 的建议奏效了。我已经通过以下方式解决了它。
client.setValue('.textarea-description textarea','new text to be write.');
实际上属性 "data-def placeholder" 只使用了不是实际文本的水印,所以它有效。
这对我有用。
.assert.visible('div.textarea-description textarea.setText')
.moveToElement('div.textarea-description textarea.setText', null, null)
.mouseButtonClick('left')
.keys([browser.Keys.CONTROL, "a"])
.keys([browser.Keys.CONTROL, "nightwatch"])
我正在 nighwatch.js 进行网络 ui 测试,我想为文本区域设置值,文本区域有一个属性,其中包含我的实际文本,我正在编写完整的文本区域以及如何我在下面设置。
<div class="textarea-description">
<textarea cols="50" class="myClass setText" data-def placeholder="text to be replaced using nightwatch"/>
</div>
我正在尝试按以下方式在上述文本区域的属性 data-def 占位符 中设置值
browser.setValue('.textarea-description textarea[type=text]','nightwatch'); or
browser.setValue('.textarea-description textarea[data-def placeholder=text]','nightwatch'); or
browser.setValue('.textarea-description textarea[type=data-def placeholder]','nightwatch');
但没有任何效果。
这可能不是最好的解决方案,但它有效:
browser
.execute("document.querySelector('.textarea-description .myClass').setAttribute('placeholder', 'nightwatch');")
如果你有jQuery,你可以让它更好一点:
browser
.execute("$('.textarea-description .myClass').attr('placeholder', 'nightwatch');")
您可以使用 xpath 获取属性。
.useXpath().setValue('//textarea[contains(@placeholder,'text to be replaced using nightwatch')]@placeholder', 'nightwatch')
How to select specified node within Xpath node sets by index with Selenium?
感谢您提出的所有宝贵建议,您提供的所有建议都能够提供很好的知识,但不幸的是 none 的建议奏效了。我已经通过以下方式解决了它。
client.setValue('.textarea-description textarea','new text to be write.');
实际上属性 "data-def placeholder" 只使用了不是实际文本的水印,所以它有效。
这对我有用。
.assert.visible('div.textarea-description textarea.setText')
.moveToElement('div.textarea-description textarea.setText', null, null)
.mouseButtonClick('left')
.keys([browser.Keys.CONTROL, "a"])
.keys([browser.Keys.CONTROL, "nightwatch"])