arnonax / TestEssentials

Utilities that are useful for unit tests and Coded UI tests and more...
MIT License
24 stars 10 forks source link

Does not work with Visual Studio 2017 #8

Open iToddi opened 6 years ago

iToddi commented 6 years ago

Appears to have a dependency of version 12: Microsoft.VisualStudio.TestTools.UITest.Extension

Any plans to support VS 2017?

arnonax commented 6 years ago

Thanks @iToddi for submitting this issue!

I guess that your problem is with TestAutomationEssentials.CodedUI, right? Do you mean that the code of TestAutomationEssentials does not compile, or does your project doesn't compile using the NuGet package, or does everything compiles but fails at runtime? I'll try to look at it myself, but if you can provide more detail about the error you're getting it will be very helpful.

arnonax commented 6 years ago

Is this the error you're getting:? I'll look into it now.

Result StackTrace: at Issue8.CodedUITest1.MyTest() Result Message: Test method Issue8.CodedUITest1.MyTest threw exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.TestTools.UITest.Extension, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

arnonax commented 6 years ago

Update: Even though I didn't find a good solution for supporting all versions of Visual Studio without duplicating the project, or some other complex MSBuild tricks, I believe I found an easy workaround:


* Save the file

It solved the problem on my machine.
iToddi commented 6 years ago

Hi, I'll give your workaround a try on Monday. Thanks for such a quick response.

Cheers, Todd

On Thu, Apr 26, 2018 at 6:08 AM, Arnon Axelrod notifications@github.com wrote:

[image: Boxbe] https://www.boxbe.com/overview This message is eligible for Automatic Cleanup! (notifications@github.com) Add cleanup rule https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3DwqQUnd5H%252BNiZL8Axsb77M%252BGCAfsN1Z7OFYcErh1FsEc%253D%26token%3DOstKus81ErsqfM8ZnvjiawVw9q%252BUWjkIa34wNNYMhAyanXpBx%252BsQ%252FLQwoTLfGQBmt6ejenldDNt5xr%252BQS%252B9ABcTx3TNRr0lyyE1%252FFkedgTqLPRkd8%252Flw6Np7UR0WCgb3OrOKxjWoz%252Bl%252BI935f%252FKVqw%253D%253D&tc_serial=38714407425&tc_rand=1396903396&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_ADD&utm_content=001 | More info http://blog.boxbe.com/general/boxbe-automatic-cleanup?tc_serial=38714407425&tc_rand=1396903396&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_ADD&utm_content=001

Update: Even though I didn't find a good solution for supporting all versions of Visual Studio without duplicating the project, or some other complex MSBuild tricks, I believe I found an easy workaround:

  • Open C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\ Common7\IDE\Extensions\TestPlatform\QTAgent32_40.exe.Config for editing as an administrator (e.g. using Notepad++)

  • Add the following XML element near all the similar ones:

  • Save the file

It solved the problem on my machine.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/arnonax/TestEssentials/issues/8#issuecomment-384617409, or mute the thread https://github.com/notifications/unsubscribe-auth/AH-lHAAsh6XuHmHgSw8c9G65Zj8UlXrSks5tsbiggaJpZM4Tih-o .

iToddi commented 6 years ago

Hi again, I gave your work around a try and it works via VS. However, when you run it via command line or through a CI tool such as Bamboo, it does not work. It still looks for VS 12.0.0 instead of VS 15.0.0 which we had changed in the XML. I'll send you some screenshots to your personal email

iToddi commented 6 years ago

Hi again, I gave your work around a try and it seems to work while in VS 2017 . However, when you run it via command line or through a CI tool such as Bamboo, it does not work (uses cmd line in a Bat or Powershell). It still looks for VS 12.0.0 instead of VS 15.0.0 which we had changed in the XML as per your workaround Attached is the screenshot I took . I tried this test run via MSTest and VSTest.

Let me know if you have any ideas to fix this. Thanks again Todd

On Thu, Apr 26, 2018 at 6:08 AM, Arnon Axelrod notifications@github.com wrote:

[image: Boxbe] https://www.boxbe.com/overview This message is eligible for Automatic Cleanup! (notifications@github.com) Add cleanup rule https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3DwqQUnd5H%252BNiZL8Axsb77M%252BGCAfsN1Z7OFYcErh1FsEc%253D%26token%3DOstKus81ErsqfM8ZnvjiawVw9q%252BUWjkIa34wNNYMhAyanXpBx%252BsQ%252FLQwoTLfGQBmt6ejenldDNt5xr%252BQS%252B9ABcTx3TNRr0lyyE1%252FFkedgTqLPRkd8%252Flw6Np7UR0WCgb3OrOKxjWoz%252Bl%252BI935f%252FKVqw%253D%253D&tc_serial=38714407425&tc_rand=1396903396&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_ADD&utm_content=001 | More info http://blog.boxbe.com/general/boxbe-automatic-cleanup?tc_serial=38714407425&tc_rand=1396903396&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_ADD&utm_content=001

Update: Even though I didn't find a good solution for supporting all versions of Visual Studio without duplicating the project, or some other complex MSBuild tricks, I believe I found an easy workaround:

  • Open C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\ Common7\IDE\Extensions\TestPlatform\QTAgent32_40.exe.Config for editing as an administrator (e.g. using Notepad++)

  • Add the following XML element near all the similar ones:

  • Save the file

It solved the problem on my machine.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/arnonax/TestEssentials/issues/8#issuecomment-384617409, or mute the thread https://github.com/notifications/unsubscribe-auth/AH-lHAAsh6XuHmHgSw8c9G65Zj8UlXrSks5tsbiggaJpZM4Tih-o .

arnonax commented 6 years ago

Hi Todd,

I didn’t get any attachment, and the link below directs me to a login page of boxbe.com. Can you try to send the attachment through the GitHub issuehttps://github.com/arnonax/TestEssentials/issues/8#issuecomment-390515356 page?

Thanks, Arnon.

From: iToddi [mailto:notifications@github.com] Sent: יום ב 21 מאי 2018 01:04 To: arnonax/TestEssentials TestEssentials@noreply.github.com Cc: Arnon Axelrod arnonaxelrod@hotmail.com; Comment comment@noreply.github.com Subject: Re: [arnonax/TestEssentials] Does not work with Visual Studio 2017 (#8)

Hi again, I gave your work around a try and it seems to work while in VS 2017 . However, when you run it via command line or through a CI tool such as Bamboo, it does not work (uses cmd line in a Bat or Powershell). It still looks for VS 12.0.0 instead of VS 15.0.0 which we had changed in the XML as per your workaround Attached is the screenshot I took . I tried this test run via MSTest and VSTest.

Let me know if you have any ideas to fix this. Thanks again Todd

On Thu, Apr 26, 2018 at 6:08 AM, Arnon Axelrod notifications@github.com<mailto:notifications@github.com> wrote:

[image: Boxbe] https://www.boxbe.com/overview This message is eligible for Automatic Cleanup! (notifications@github.commailto:notifications@github.com) Add cleanup rule https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3DwqQUnd5H%252BNiZL8Axsb77M%252BGCAfsN1Z7OFYcErh1FsEc%253D%26token%3DOstKus81ErsqfM8ZnvjiawVw9q%252BUWjkIa34wNNYMhAyanXpBx%252BsQ%252FLQwoTLfGQBmt6ejenldDNt5xr%252BQS%252B9ABcTx3TNRr0lyyE1%252FFkedgTqLPRkd8%252Flw6Np7UR0WCgb3OrOKxjWoz%252Bl%252BI935f%252FKVqw%253D%253D&tc_serial=38714407425&tc_rand=1396903396&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_ADD&utm_content=001 | More info http://blog.boxbe.com/general/boxbe-automatic-cleanup?tc_serial=38714407425&tc_rand=1396903396&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_ADD&utm_content=001

Update: Even though I didn't find a good solution for supporting all versions of Visual Studio without duplicating the project, or some other complex MSBuild tricks, I believe I found an easy workaround:

  • Open C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\ Common7\IDE\Extensions\TestPlatform\QTAgent32_40.exe.Config for editing as an administrator (e.g. using Notepad++)
  • Add the following XML element near all the similar ones:
  • Save the file

It solved the problem on my machine.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/arnonax/TestEssentials/issues/8#issuecomment-384617409, or mute the thread https://github.com/notifications/unsubscribe-auth/AH-lHAAsh6XuHmHgSw8c9G65Zj8UlXrSks5tsbiggaJpZM4Tih-o .

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/arnonax/TestEssentials/issues/8#issuecomment-390516352, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJgGwul_FlvkLiKqHpzEHRFFXXbRAFgtks5t0ehPgaJpZM4Tih-o.

iToddi commented 6 years ago

Attaching the image of command line error as per our email exchange: command line error

arnonax commented 6 years ago

Hi Todd,

There are numerous executables in C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform\ which may host your tests, each with its own config file (these hosts are for different versions of the .Net Framework, different platforms, etc.). You should probably find the relevant executable and add the mentioned <depedentAssembly> node in its config file.

As I'm not sure which executable it is, I suggest that you create a new, empty test project and add one test in it that will tell you exactly which executable is hosting the test, like that:

    [TestMethod]
    public void WhichHost()
    {
        Assert.Fail(Process.GetCurrentProcess().MainModule.FileName);
    }

This test will always fail, but in its error message you'll see the exact executable file and location that hosts your tests, like this:

    Message: Assert.Fail failed. C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\ENTERPRISE\COMMON7\IDE\EXTENSIONS\TESTPLATFORM\testhost.x86.exe

Then open the config file of that executable and add the <depedentAssembly> node to it.

HTH, Arnon.