我在C#中使用Webdriver Framework进行GUI测试自动化。 我有这个样本代码:
univDimM = Driver.FindElement(By.XPath("//*[class, 'div']"));
element2=Driver.FindElement(By.XPath("//[@translate='ROW_NAV.CABINET']");
el3 = Driver.FindElement(By.XPath("//*[@translate='ROW_NAV1.CABINET']"));
Actions dragdrop = new Actions(Driver);
dragdrop.Click(univDimM)
.MoveToElement(element2)
.ClickAndHold(univDimM)
.MoveToElement(element2)
.Release(el3)
.Build();
.Perform();
Rail / Row有XPath:
<ul class="cabinet-module-holders" ng-click="$ctrl.selectCabinetRow({ cabinetRow: $ctrl.cabinetRow })" dnd-list="$ctrl.cabinetRow.modules" dnd-horizontal-list="true" dnd-drop="$ctrl.moveModule(item, $ctrl.cabinetRow, index)" dnd-dragover="$ctrl.moduleDragOver({ cabinetRow: $ctrl.cabinetRow, cabinetRowIndex: index})">
在Visual Studio中它显示它已通过(输出窗口 - 我使用NUnit来运行它),但是当我打开浏览器并转到Web应用程序时它不会改变。元素在机柜(电力设备)上,我想更改行上的电源按钮。
答案 0 :(得分:0)
好的,我有一个答案。
Actions act = new Actions(Driver);
act.MoveToElement(univDim);
act.Perform();
univDim.DragTo(element3);
我注意到测试开发人员应该放置驱动元素,然后放置DragTo(targetSource)。