[英]How to enter a value on yaml based UI using Karate UI Automation
UI 是一个代码编辑器,用于输入或更新 yaml/json 内容。 我正在尝试使用空手道 UI 语法更新“value1”,但它似乎没有用,以下是试验
* string element = "//span[text()='Parent']/following::span[text='Child1']/following::span[text='value1']
#语法方法:
* script(element, "_.innerHTML='100'")
* script(element, "_.innerHTML='value1'").input('100')
And waitFor(element).input('100')
* input(element, '100')
When value(element, '100')
* locate(element).input('100')
示例应用程序 - https://onlineyamltools.com/edit-yaml
样品 yaml -
**
parent:
child:
key1: value1
key2: value2
child2:
key3: value3
key4: value4
**
元素定位器: //span[text()='parent']/following::span[contains(text(),'child')]/following::span[contains(text(),'value1')]
我所需要的只是能够将“value1”更新为“100”并保存它。 谢谢
使用脚本 function 将元素的 innerHTML 属性设置为新值:
* script(element, "_.innerHTML='100'")
使用输入 function 将元素的值设置为新值:
* input(element, '100')
使用值 function 将元素的值设置为新值:
* value(element, '100')
从您的问题中不清楚元素的值是否正在 web 页面中更新,或者更改是否在您保存页面时丢失。
如果保存页面时更改丢失,则页面上可能有一些 JavaScript 代码在保存页面时重置元素的值。 在这种情况下,您可能需要使用不同的方法来更新元素的值。
以下空手道代码/语法适用于所有具有代码编辑器的用户界面,如原始问题中发布的那样:
* mouse(element).click()
* input(element, [Key.DELETE, Key.DELETE, Key.BACK_SPACE, Key.BACK_SPACE, '100'])
数组中的键盘事件可以是 go,并且可能会因场景而异。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.