[英]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.