Visual Studio 코딩 된 UI 테스트를 실행할 때 발견 된 문제에 미쳐 가고 있습니다. 시나리오는 다음과 같습니다. 선택한 값을 설정 페이지에서 페이지 코딩 된 UI 테스트 - 반환하지 않는 UI 속성 설정 (무한히 매달려)
- 로그인 : 나는 웹 응용 프로그램에서 다음 단계를 수행 코딩 된 UI 테스트 (2011의 Microsoft Dynamics CRM)를 기록 html combobox의
테스트는 문제없이 모든 단계를 수행 할 수 있으며 심지어 콤보 상자의 값을 선택합니다. 웹 응용 프로그램에는 선택한 항목이 변경 될 때 실행되는 자바 스크립트가 있습니다. 값 중 하나가 선택되면 경고 메시지가 사용자에게 표시되고 응용 프로그램이 선택한 항목을 기본값으로 설정합니다! 이런
자바 스크립트 코드를 보면 :
아래와switch (Xrm.Page.getAttribute("status").getValue()) {
case 3: //Authorised
alert("Please use the method XPTO to update the record status to Authorised!");
Xrm.Page.getAttribute("status").setValue(1);
Xrm.Page.getControl("tatus").setFocus(true);
return false;
콤보의 변화를 수행하는 UI 시험 방법이므로 :
/// <summary>
/// Select a value in the Status dropdown box
/// </summary>
public void SelectStatus()
{
#region Variable Declarations
HtmlComboBox uIStatusComboBox = this.UIHttpsappWindow200.UIModuleUITEDocument5.UIWorkplaceDashboardsFrame.UIModuleUITEDocument.UIStatusComboBox;
// Select 'Authorised' in 'Status' combo box
uIStatusComboBox.SelectedItem = this.SelectStatus_SPParams.UIStatusComboBoxSelectedItem;
}
시험 방법은 값을 변경할 수있다 콤보 박스에서 경고 메시지가 사용자에게 표시됩니다. 그러나 코드 uIStatusComboBox.SelectedItem = this.SelectStatus_SPParams.UIStatusComboBoxSelectedItem;
의이 부분은 결코 반환되지 않으며 테스트는 타임 아웃 될 때까지 거기에 매달립니다!
나는이 문제를 어떻게 해결할 지 아이디어가 없다! 아마 우리에게 경고가 사용자에게 표시 된 후에 실행되는 자바 스크립트 코드가 있다는 사실에 문제가있을 수 있다고 생각했습니다. JS를 변경하여 경고 메시지가 마지막으로 표시되지만 도움이되지 않았습니다!
경고 메시지에서 확인을 클릭하면 테스트 합격!
다른 테스트를 트리거하지 않는 다른 값을 선택하면 테스트도 통과됩니다!
누구든지이 문제에 대해 알고 있습니까?
편집 1 : 나는 다른 일을 발견
을, 나는 브라우저에 JS 스크립트를 보낼 BrowserWindow 객체를 사용할 수 있습니다. 경고 메시지를 만들려고하면 경고 메시지에서 확인 버튼을 클릭 할 때까지 통화가 차단됩니다.
BrowserWindow bw = BrowserWindow.Locate("My window");
bw.ExecuteScript("alert('This is just a simple alert.');");
ExecuteScript 문은 [확인] 단추를 클릭 할 때까지 차단됩니다. 이것은 매우 이상하게 보입니다!