Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 量角器e2e测试中的Ag网格访问和编辑单元_Angular_Protractor_Angular Test_Angular E2e_Ag Grid E2e - Fatal编程技术网

Angular 量角器e2e测试中的Ag网格访问和编辑单元

Angular 量角器e2e测试中的Ag网格访问和编辑单元,angular,protractor,angular-test,angular-e2e,ag-grid-e2e,Angular,Protractor,Angular Test,Angular E2e,Ag Grid E2e,我正在寻找端到端测试(e2e)ag网格角度应用程序的正确方法 量角器文档说明,您可以使用by.model(modelName)来sendKeys到使用ng model的输入字段 但ng模型不是一个角度2指令 例如,我尝试过这种方法,但不起作用: const cellElement = element(by.model('row.name')); browser.actions().click(cellElement).perform(); //to get focus on cell ce

我正在寻找端到端测试(e2e)ag网格角度应用程序的正确方法

量角器文档说明,您可以使用
by.model(modelName)
sendKeys
到使用ng model的输入字段

但ng模型不是一个角度2指令

例如,我尝试过这种方法,但不起作用:

const cellElement = element(by.model('row.name'));

browser.actions().click(cellElement).perform(); //to get focus on cell

cellElement.sendKeys('some value');
但这不会给出任何结果,当我使用VisualStudio代码进行调试时,单元格上没有焦点,单元格中也没有光标

我发现的一件事是,当单元格未处于焦点或编辑模式时,,我在devtool中看到这些类添加到cell元素中:

ag单元格
ag单元格带高度
ag单元格值
ag单元格未在线编辑
ag单元格焦点

当我在没有量角器的情况下手动双击单元格时(我甚至无法使用量角器),我会看到这些类添加到chrome devtool中的元素中:

ag单元格
ag单元格带高度
ag单元格值
ag单元格焦点
ag单元格内联编辑

是否可以将class
ag cell inline editing
添加到元素中,并强制该单元格接收我们发送给它的内容

因为我在官方文档中看到,没有文档记录的方法来进行这种高级量角器e2e测试,即使它通常被认为是一个基本的简单测试来创建

是否有任何方法可以让它工作,并能够进行例如单元格内容验证?意味着如果我编辑了单元格的内容,那么我的表单是否有效?所有这些都是用量角器做的


我找到的解决方案是:

1-选择要编辑的ag网格单元:

const gridCell = element(by.css(`[role='gridcell'][col-id='colModelName']`));
2-双击单元格以启用ag网格上的编辑模式:

await browser.actions().doubleClick(gridCell).perform();
3-最后将我们想要的值发送到单元格:

await browser.actions().sendkeys('data value').perform();

你可以考虑最后一个步骤,包括在网格中的某个地方选择任何其他元素,然后点击它,这样,焦点将从编辑过的单元格中删除,然后你就可以真正选择当前网页中的任何其他元素。


希望它能帮助任何一个尝试进行e2e ag网格测试的人,因为我一直在努力学习如何使用.model的
by.model
,而angular 2+的量角器还不能使用它。遗憾的是,官方文档中没有记录任何软件。

我找到的解决方案是:

1-选择要编辑的ag网格单元:

const gridCell = element(by.css(`[role='gridcell'][col-id='colModelName']`));
2-双击单元格以启用ag网格上的编辑模式:

await browser.actions().doubleClick(gridCell).perform();
3-最后将我们想要的值发送到单元格:

await browser.actions().sendkeys('data value').perform();

你可以考虑最后一个步骤,包括在网格中的某个地方选择任何其他元素,然后点击它,这样,焦点将从编辑过的单元格中删除,然后你就可以真正选择当前网页中的任何其他元素。


希望它能帮助任何一个尝试进行e2e ag网格测试的人,因为我一直在努力学习如何使用.model的
by.model
,而angular 2+的量角器还不能使用它。遗憾的是,官方文档中没有记录任何软件。

您刚刚帮我省去了几个小时的头痛。非常感谢。你帮我省去了几个小时的头痛。非常感谢。