2016-01-15 91 views
0

我对量角器和测试.NET应用程序都很陌生。我正试图从头构建一个自动化测试脚本。下面是HTML:如何使用量角器测试asp.net webforms(非角度)?

<div class = "top"> 
<span id = "welcome"> 
<em>Hi</em> 
"," 
<strong> 
<span id = "user">MyName</span></strong> 
"|" 
</span>' 

我量角器代码:

var greet = element(by.id('user')); expect(greet.getText()).toBe('MyName'); 

我已经做到了这一点代码:

var greet = element(by.id('welcome')).element(by.id('user')); 
expect(greet.getText()).toBe('Hi, MyName'); // or toEqual("Hi, MyName"); 

但我仍然得到一个错误信息说

失败:未找到使用定位符的元素:by.id(“welcome”)

失败:不使用定位器找到的元素:by.id( “用户”)

希望能所有有经验的测试人员量角器的听到。

+0

你看到页面上的任何iframe元素? – alecxe

+0

@alecxe我在网页上看不到任何iframe元素。我看到的是ajaxsetup,jquery。我不确定它是否与这些连接? – Marj

回答

1

它看起来像是一个计时问题。让我们试着等待元素,成为目前

var EC = protractor.ExpectedConditions; 
var greet = element(by.id('user')); 

browser.wait(EC.presenceOf(greet), 5000); 

expect(greet.getText()).toBe('MyName'); 
+0

哇,谢谢!工作!我将它增加到20000.我也可以使用这个角度为基础的应用程序? – Marj

+0

@Marj如果测试中存在角度应用程序,通常不需要显式等待,因为量角器保持与角度同步的东西并知道何时准备好。有时候虽然需要等待。 – alecxe

+0

是的。我有一个间歇性的测试脚本,即使我不得不等待,它仍然会因为找不到元素而失败。 – Marj