首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#量角器不提供resumeBootstrap

C#量角器不提供resumeBootstrap
EN

Stack Overflow用户
提问于 2018-05-04 12:54:28
回答 1查看 541关注 0票数 1

这是我的第一个堆叠溢出问题。我已经在这个站点上搜索了一些答案,但是我找到的所有解决方案都不适合我,或者它们是用于Java或javascript的。

情况

作为初级自动化测试人员,我用SeleniumWebDriverandProtractor.Net在C#中创建了一种自动化测试框架。该框架由两部分组成。

  1. 页面对象
  2. 试验

还有一个页面对象基类。在这个类中,我定义了每个页面对象使用的方法,例如打开特定程序模块的方法。在测试中,也有一个基类。在这个类中,定义了测试属性(C# UnitTest),例如TestInitialize、TestCleanup、AssemblyCleanup。

在Test类中,我还定义了NgWebDriver,ChromeDriver:

代码语言:javascript
复制
driver = new NgWebDriver(new OpenQA.Selenium.Chrome.ChromeDriver());
                driver.Manage().Window.Maximize();

在类中,我定义了一个打开网站特定部分的方法:

代码语言:javascript
复制
public void OpenSPA(string spa)
    {                      
        driver.Navigate().GoToUrl(spa, true);
        driver.Navigate().Refresh();

    }

参数水疗中心包含导航到的url。

测试用例

测试用例很简单:网站模块x的打开模块x只是一个url。

测试用例的完整代码:

代码语言:javascript
复制
[TestMethod]
[TestCategory(cat), TestCategory(regression)]
public void Organisatie_CheckActief()
{
    bool is_actief;

    var organisatie = new CrmSPA(driver);

    organisatie.VulVeld("Vrij zoeken", "XXXX");
    is_actief = organisatie.IsRelatieActief();

    //Assertion
    Assert.IsTrue(is_actief == true, "Relatie is niet actief.");

问题:自从几周前我在运行测试用例时得到了以下错误:

代码语言:javascript
复制
Test Name:  Organisatie_CheckActief
Test FullName:  FirstTest.Webdrivers.WijzigenOrganisatie_Basis.Organisatie_CheckActief
Test Source:    C:\Users\XXXX\TestCases\\Organisatie\WijzigenOrganisatie_basis.cs : line 168
Test Outcome:   Failed
Test Duration:  0:00:41,1353784

结果StackTrace:

代码语言:javascript
复制
bij OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   bij OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   bij OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScriptCommand(String script, String commandName, Object[] args)
   bij OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteAsyncScript(String script, Object[] args)
   bij Protractor.NgWebDriver.set_Url(String value) in c:\Users\Bruno\Projets\GitHub\bbaia\protractor-net\src\Protractor\NgWebDriver.cs:regel 163
 --- End of inner exception stack trace ---
    bij Protractor.NgWebDriver.set_Url(String value) in c:\Users\Bruno\Projets\GitHub\bbaia\protractor-net\src\Protractor\NgWebDriver.cs:regel 193
   bij Protractor.NgNavigation.GoToUrl(String url, Boolean ensureAngularApp) in c:\Users\Bruno\Projets\GitHub\bbaia\protractor-net\src\Protractor\NgNavigation.cs:regel 112
   bij FirstTest.PageObjects.BaseSPA.OpenSPA(String spa) in C:\Users\\Documents\Visual Studio 2015\Projects\\\FirstTest\PageObjects\BaseSPA.cs:regel 55
   bij FirstTest.PageObjects.CrmSPA.CrmSPA..ctor(NgWebDriver driver) in C:\Users\\Documents\Visual Studio 2015\Projects\\\FirstTest\PageObjects\CRM\CrmSPA\CrmSPA.cs:regel 37
   bij FirstTest.Webdrivers.WijzigenOrganisatie_Basis.Organisatie_CheckActief() in C:\Users\\Documents\Visual Studio 2015\Projects\\\FirstTest\TestCases\RelatieSPA\Organisatie\WijzigenOrganisatie_basis.cs:regel 174
Result Message: 
Test method FirstTest.Webdrivers.WijzigenOrganisatie_Basis.Organisatie_CheckActief threw exception: 
System.InvalidOperationException: **Angular could not be found on the page** 'https://XXXXX/CRM/Relaties/ ---> OpenQA.Selenium.WebDriverTimeoutException: asynchronous script timeout: result was not received in 30 seconds
  (Session info: chrome=66.0.3359.139)
  (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 6.1.7601 SP1 x86_64)

屏幕/浏览器上的结果

在运行测试时,会发生以下情况:

  1. 铬浏览器启动(确定)
  2. chrome浏览器打开最大化(ok)
  3. chrome浏览器获取url (确定)
  4. 浏览器为空,显示空白页(NOK)

不知何故,我发现了以下错误: never从未提供过resumeBootstrap

我搜索了谷歌和堆栈溢出,我尝试了一些答案,比如同步选项: driver.IgnoreSynchronization,问题并不总是出现。有时会加载页面并继续进行测试。我已经试着重新安装量角器网,一个较新的色度驱动器和自带驱动程序。这个问题仍然存在。

如果有人能帮我的话。

EN

回答 1

Stack Overflow用户

发布于 2018-05-04 15:09:17

这个错误信息..。

代码语言:javascript
复制
OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)

...implies,即RemoteWebDriver在执行命令时发生错误。

Selenium是一个开源框架,您可以查看源代码这里

GoToUrl()是在RemoteNavigator.cs中定义的,只接受一个参数string url,如下所示:

代码语言:javascript
复制
    /// Navigate to a url for your test
    /// </summary>
    /// <param name="url">String of where you want the browser to go to</param>
    public void GoToUrl(string url)
    {
        this.driver.Url = url;
    }

但是在您的代码块中,当调用GoToUrl()方法和string spa时,您还传递了true。这可能会引发错误。

解决方案

GoToUrl()方法中,删除参数,真将解决您的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50175483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档