簡體   English   中英

如何使用 Karate UI Automation 在基於 yaml 的 UI 上輸入值

[英]How to enter a value on yaml based UI using Karate UI Automation

這是 ui 應用程序屏幕截圖 - 它是一個 yaml 頁面在此處輸入圖像描述

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')
  • script(element, "_.innerHTML='100'") - 有效,但值 '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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM