2014-02-03 5 views
2

Я пытаюсь построить тест UI selenium-silverlight с использованием тестовой среды Selenium Nuint. Вот мой кодSystem.IO.FileNotFoundException: Не удалось загрузить файл или сборку «Silvernium, Version = 1.0.4254.29979

using System; 
using OpenQA.Selenium; 
using OpenQA.Selenium.Chrome; 
using OpenQA.Selenium.IE; 
using OpenQA.Selenium.Support.UI; 
using System.Text; 
using OpenQA.Selenium.Interactions; 
using System.Configuration; 
using System.Threading; 
using Selenium; 
using ThoughtWorks.Selenium.Silvernium; 
using DBServer.Selenium.Silvernium.Fixtures; 
using NUnit.Framework; 

namespace Rahul_Test 
{ 
[TestFixture] 
public class UnitTest1 
{ 
    protected static IWebDriver driver; 
    protected WebDriverWait wait; 
    protected StringBuilder verificationErrors; 
    private string baseURL; 
    protected static Actions builder; 
    protected Silvernium silvernium; 
    protected ISelenium selenium; 
    protected ICommandProcessor processor; 

    //initial setup 
    [SetUp] 
    public void SetupTest() 
    { 
     selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com"); 
     selenium.Start(); 
     selenium.Open("http://atlas/Dev/Axioma/"); 
     silvernium = new Silvernium(selenium, "InteractiveElement"); //this line throws error at runtime/while running tests in debug mode... 
     //Note: Build does not throw any errors on compilation 
    } 

    //open browser test case 
    [Test] 
    public void Login() 
    { 
     NUnit.Framework.Assert.IsFalse(false); 
    } 
} 

Project/Solution строит без каких-либо ошибок, но когда я отладки/запустить тестовый случай из теста он терпит неудачу со следующей ошибкой.

Имя теста: Вход

Тест FullName: Rahul_Test.UnitTest1.Login

Test Источник: C: \ Users \ rlodha \ Documents \ Visual Studio 2012 \ Projects \ SampleUITest \ SampleUITest \ UnitTest1. CS: линия 58

Тест Результат: Failed

Test Продолжительность: 0: 00: 00,205

Result Message: SetUp: System.IO.FileNotFoundException: Не удалось загрузить файл или сборку «Silvernium, Version = 1.0.4254.29979, Culture = neutral, PublicKeyToken = null» или одна из его зависимостей.

Система не может найти указанный файл. Результат StackTrace: в Rahul_Test.UnitTest1.SetupTest()

Я не могу понять, почему это может компилировать со ссылкой Silvernium сборку добавлены, но не в состоянии загрузить сборку Silvernium во время запуска/отладки.

Код для MSTest

using System; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 
using OpenQA.Selenium; 
using OpenQA.Selenium.Chrome; 
using OpenQA.Selenium.IE; 
using OpenQA.Selenium.Firefox; 
using OpenQA.Selenium.Support.UI; 
using System.Text; 
using OpenQA.Selenium.Interactions; 
using System.Configuration; 
using System.Threading; 
using Selenium; 
using ThoughtWorks.Selenium.Silvernium; 
//using NUnit.Framework; 

namespace Rahul_Test 
{ 
    [TestClass] 
    public class UnitTest1 
    { 
     //copy this part for defining a class for IE and chrome 
     protected static IWebDriver driver; 
     protected WebDriverWait wait; 
     protected StringBuilder verificationErrors; 
     private string baseURL; 
     protected static Actions builder; 
     protected Silvernium silvernium; 
     protected ISelenium selenium; 
     //protected ICommandProcessor processor; 
     //initial setup 
     [TestInitialize] 
     public void SetupTest() 
     { 
      if (driver == null) 
      { 
       driver = new FirefoxDriver(); 
       driver.Manage().Window.Maximize(); 
       baseURL = ""; 
       verificationErrors = new StringBuilder(); 
       driver.Navigate().GoToUrl("http://atlas/Dev/Axioma/"); 
       builder = new Actions(driver); 
       //processor=new 
       selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com"); 
       //selenium.Start(); 
       //selenium.Open("http://atlas/Dev/Axioma/"); 
       silvernium = new Silvernium(selenium, "InteractiveElement"); 
       //var silverlightapp = new SilverlightApplicationFixture("localhost", 4444, "*firefox", "http://www.google.com"); 
       // } 
       //wait = new WebDriverWait(driver, TimeSpan.FromSeconds(35)); 
       //wait = new WebDriverWait(driver, TimeSpan.FromSeconds(Convert.ToInt16(ConfigurationManager.AppSettings["TimeOut"]))); 
      } 
     } 

     //open browser test case 
     [TestMethod] 
     public void Login() 
     { 
      Assert.IsFalse(false); 
     } 
    } 
} 

и ошибок Вход для MSTest

Test Name:Login 
Test FullName:Rahul_Test.UnitTest1.Login 
Test Source:c:\Users\rlodha\Documents\Visual Studio 2012\Projects\SampleUITest\SampleUITest\UnitTest1.cs : line 57 
Test Outcome:Failed 
Test Duration:3.36805555555556E-06 

Result Message: 
Initialization method Rahul_Test.UnitTest1.SetupTest threw exception. System.IO.FileNotFoundException: System.IO.FileNotFoundException: Could not load file or assembly 
'Silvernium, Version=1.0.4254.29979, Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
The system cannot find the file specified.Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 
Running under executable C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 11.0\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\TESTWINDOW\vstest.executionengine.exe.config 

=== Pre-bind state information === 
LOG: DisplayName = Silvernium, Version=1.0.4254.29979, Culture=neutral, PublicKeyToken=null 
(Fully-specified) 
LOG: Appbase = file:///C:/Users/rlodha/Documents/Visual Studio 2012/Projects/SampleUITest/SampleUITest/bin/Debug 
LOG: Initial PrivatePath = NULL 
Calling assembly : SampleUITest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. 
=== 
LOG: This bind starts in default load context. 
LOG: Using application configuration file: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 11.0\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\TESTWINDOW\vstest.executionengine.exe.Config 
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config. 
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). 
LOG: The same bind was seen before, and was failed with hr = 0x80070002. 
. 
Result StackTrace:at Rahul_Test.UnitTest1.SetupTest() 
+0

Вы должны убедиться, что ссылки имеются как для производственного проекта, так и для тестового проекта. Кроме того, если вы запускаете тест с другого клиентского компьютера, чем тот, который он построил, убедитесь, что на этом компьютере установлен Silverlight. –

+0

Можете ли вы попробовать каждый ответ в этой теме http://stackoverflow.com/questions/4469929/could-not-load-file-or-assembly-or-one-of-its-dependencies – PUG

+0

@Evan LI запускает тест на только мой локальный, и у меня установлен Silverlight. Также у меня есть ссылки, добавленные в тестовый проект, иначе сборка завершится неудачей. –

ответ

2

Я просто имел ту же ошибку сегодня. Попробуйте изменить имя вашей Silverlium dll из Silvernium-version.number.dll в Silvernium.dll.

Например, я сменил мою версию с Silvernium-1.1.dll на страницу Silvernium.dll, и это сработало.

+0

Это сработало для меня –

0

Переустановка пакета selenium nuget устранит проблему.

Если бы несколько минут назад была та же проблема.