VS 2015-从cmd行运行单元测试,初始化chromedriver存在问题

德斯莫

会员
已加入
2018年1月3日
留言内容
14
编程经验
Beginner
首先:在这种情况下,单元测试是使用Selenium Webdriver进行的功能测试。这样做的原因是,我喜欢VS单元测试框架,并发现很容易用单独的项目来组织解决方案,以进行实际的自动化和测试。

这是一个组织成不同项目的框架,用于网页自动化,测试数据处理,帮助程序功能,Selenium WebDriver实现等。它的组织方式如下:

解: 自动化
项目:通用(类库)-包括用于访问页面元素,网站导航和Selenium ChromeDriver(单个)对象的类。
项目:自动化(类库)-包含站点页面,菜单和功能的类。
项目:TestData(类库)-包含用于从配置和数据文件读取和写入测试数据的类
项目:Windows功能(类库)-包含用于在正常身份验证不起作用时处理网站登录,文件上传对话框等的类。
项目:测试(单元测试项目)-包含功能测试,如单元测试

我有(或计划有)两种运行测试的方法:从VS Test Explorer和使用VBA-macros从命令行运行MSTest.exe的Excel文件中。

从测试资源管理器中:
这就像一个魅力。随NuGet一起安装的所有库(Selenium WebDriver,Selenium ChromeDriver,AutoIt)均已加载,所有内容都只是桃红色。

从命令行使用MSTest.exe:
不使用Selenium的基本测试(我称它们为框架健康测试-更标准的单元测试)可以正常工作。
但是,所有使用Selenium Webdriver的测试(也就是说,从打开Chrome到前进的所有操作)都不会。这些失败并显示以下错误(来自测试结果.trx文件):

C#:
Initialization method FlowTests.BasicTests.OpenTests.OpenMyLabDrop2.Init threw exception. OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException: The chromedriver.exe file does not exist in the current directory or in a directory on the PATH environment variable. The driver can be downloaded at http://chromedriver.storage.googleapis.com/index.html..
at OpenQA.Selenium.DriverService.FindDriverServiceExecutable(String executableName, Uri downloadUrl)
at OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService()
at Common.Selenium.GCDriver.Initialize() in d:\Source\Workspaces\QA\FlowAutomation\Common\Selenium\GCDriver.cs:line 19
at FlowTests.Base.MyLabDrop2Test.Init() in d:\Source\Workspaces\QA\FlowAutomation\FlowTests\Base\MyLabDrop2Test.cs:line 16

这是我从命令行运行测试的方式:

C#:
MSTest.exe /resultsfile:d:\QA\testresults\autotests\regressiontests\opensitetests\test.trx /testcontainer:d:\Source\Workspaces\QA\Automation\Tests\bin\Debug\Tests.dll /test:Tests.BasicTests.OpenTests.OpenMyLab.Open_MyLab_StartPage_as_Specific_User

现在,这是一个相当标准的错误,这意味着未加载ChromeDriver。而且,如果我在VS Test Explorer中运行项目时得到了此信息,我将有一些调查和排除故障的方法。

但是,只有在从命令行运行测试时才发生这种情况,我不知道如何进行。之前在另一个类似的项目中,这种方法已经奏效,但我无法发现两者之间的任何区别。

我从哪里运行test命令似乎并不重要。而且我已经在系统上复制了chromedriver.exe-甚至手动将其添加到用户配置文件的环境路径中-无济于事。

Selenium专家似乎无法为我提供帮助,要么是因为它是如此特定于VS,要么是因为没有人像这样运行它。

所有的建议,帮助和建议,我们将不胜感激。
 
最佳 底部