如何在C#中移动元素行?

时间:2017-03-27 08:55:35

标签: c# selenium-webdriver

我在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应用程序时它不会改变。元素在机柜(电力设备)上,我想更改行上的电源按钮。

1 个答案:

答案 0 :(得分:0)

好的,我有一个答案。

Actions act = new Actions(Driver);
act.MoveToElement(univDim);
act.Perform();
univDim.DragTo(element3);

我注意到测试开发人员应该放置驱动元素,然后放置DragTo(targetSource)。