使用 watir 自动化将文本输入 UI-grid
Entering text into a UI-grid using watir automation
我们最近从 ng-grid 更改为 Ui-grid。这破坏了我的很多自动化脚本。
目前我无法在文本框中输入文本。
我的HTML:
<div
class="ui-grid-cell ng-scope ui-grid-coluiGrid-0005"
ui-grid-cell=""
ng-class="{
'ui-grid-row-header-cell': col.isRowHeader,
'rowError': row.entity.isValid != undefined && !row.entity.isValid }"
ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name"
tabindex="-1"
aria-selected="true">
<div
class="ui-grid-cell-contents
ng-binding ng-scope
ui-grid-cell-focus">
</div>
</div>
所以我尝试了这个,但并不开心:
@browser.textarea(:class,'ui-grid-cell-contents ng-binding ng-scope ui-grid-cell-focus').when_present.set 'test'
终于弄明白了,所以下面就是我想要的:
@browser.div(:xpath,'html/body/div[1]/div[3]/div/div/div/div/div/form/div/div/div[3]/div/div[1]/div[2]/div[1]/div[2]/div/div/div/div[1]/div').when_present.click
@browser.text_field(:index,1).when_present.set 'Field 1'
我们最近从 ng-grid 更改为 Ui-grid。这破坏了我的很多自动化脚本。
目前我无法在文本框中输入文本。
我的HTML:
<div
class="ui-grid-cell ng-scope ui-grid-coluiGrid-0005"
ui-grid-cell=""
ng-class="{
'ui-grid-row-header-cell': col.isRowHeader,
'rowError': row.entity.isValid != undefined && !row.entity.isValid }"
ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name"
tabindex="-1"
aria-selected="true">
<div
class="ui-grid-cell-contents
ng-binding ng-scope
ui-grid-cell-focus">
</div>
</div>
所以我尝试了这个,但并不开心:
@browser.textarea(:class,'ui-grid-cell-contents ng-binding ng-scope ui-grid-cell-focus').when_present.set 'test'
终于弄明白了,所以下面就是我想要的:
@browser.div(:xpath,'html/body/div[1]/div[3]/div/div/div/div/div/form/div/div/div[3]/div/div[1]/div[2]/div[1]/div[2]/div/div/div/div[1]/div').when_present.click
@browser.text_field(:index,1).when_present.set 'Field 1'