猿问

尝试通过 Selenium 清除文本时出现 InvalidElementStateException

我正在测试的 Web 应用程序在删除记录时需要确认。


我创建了一个测试来输入删除此记录的有效理由。


执行此操作的代码如下:


DeleteFieldButton.

            Click();

        WaitMethods.WaitForElementToBeDisplayed(RemovalReason, 20);

        RemovalReason

            .Click();

        RemovalReason

            .Clear();

        RemovalReason

            .SendKeys("Automated Test - Delete Field");

文本框的XPath如下:


private Label RemovalReason = new Label(By.XPath("//*[@placeholder = 'Removal reason']"));

无论何时运行测试,都会返回以下异常。


OpenQA.Selenium.InvalidElementStateException

HResult=0x80131500

Message=Cannot clear By.XPath: //*[@placeholder = 'Removal reason'] as it is 

not declared as a writable text element

Source=web

StackTrace:

at web.Elements.Common.Element.Clear()

at Daera.Efs.Test.E2e.PageObjects.ApplicationSummary.DeleteField(String 

FieldIDToDelete) in 

C:\Code\Local\WebApp.E2e\PageObjects\ApplicationSummary.cs:line 280

 at Test.E2e.Tests.ApplicationSummaryTest.Delete_Wider_General_Field_From_Application_Summary() in C:\Code\Local\WebApp.E2e\Tests\ApplicationSummaryTest.cs:line 45

以下是 Web 应用程序中元素的 HTML:


<input ng-keypress="dialog.keypress($event)" md-autofocus="" ng-model="dialog.result" placeholder="Removal reason" class="ng-valid md-input ng-not-empty md-autofocus ng-touched ng-dirty ng-valid-parse" aria-label="Removal reason" id="input_22" aria-invalid="false" style="">



吃鸡游戏
浏览 538回答 1
1回答
随时随地看视频慕课网APP
我要回答