TestStack / TestStack.Seleno

Seleno helps you write automated UI tests in the right way by implementing Page Objects and Page Components and by reading from and writing to web pages using strongly typed view models.
http://teststack.github.com/TestStack.Seleno/
MIT License
180 stars 60 forks source link

ImplicitlyWait method does not exist #263

Open boeschti opened 6 years ago

boeschti commented 6 years ago

The wrong method is used in https://github.com/TestStack/TestStack.Seleno/search?utf8=%E2%9C%93&q=implicitly&type=

I am using Selenium.WebDriver 3.7.0

The method is no longer supported by Selenium, rather use: driver.Manage().Timeouts().ImplicitWait

Exception: When using InternetExplorer webdriver the following error occured:

System.TypeInitializationException: The type initializer for 'MyNamespace.Host' threw an exception. ---> Autofac.Core.DependencyResolutionException: An exception was thrown while executing a resolve operation. See the InnerException for details. ---> Method not found: 'OpenQA.Selenium.ITimeouts OpenQA.Selenium.ITimeouts.ImplicitlyWait(System.TimeSpan)'. (See inner exception for details.) ---> System.MissingMethodException: Method not found: 'OpenQA.Selenium.ITimeouts OpenQA.Selenium.ITimeouts.ImplicitlyWait(System.TimeSpan)'. at TestStack.Seleno.Configuration.AppConfigurator.b__11_1(IActivatedEventArgs1 a) at Autofac.Core.Resolving.InstanceLookup.Complete() in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Extensions\EnumerableExtensions.cs:line 0 at Autofac.Core.Resolving.ResolveOperation.CompleteActivations() in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Extensions\EnumerableExtensions.cs:line 0 at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable1 parameters) in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Extensions\EnumerableExtensions.cs:line 0 at Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable1 parameters) in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Extensions\EnumerableExtensions.cs:line 0 --- End of inner exception stack trace --- at Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable1 parameters) in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Extensions\EnumerableExtensions.cs:line 0 at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable1 parameters, Object& instance) in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Extensions\EnumerableExtensions.cs:line 0 at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable1 parameters) in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Extensions\EnumerableExtensions.cs:line 0 at Autofac.ResolutionExtensions.Resolve[TService](IComponentContext context, IEnumerable1 parameters) in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Extensions\EnumerableExtensions.cs:line 0 at TestStack.Seleno.Configuration.SelenoApplication..ctor(IContainer container) in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Configuration\SelenoApplication.cs:line 36 at TestStack.Seleno.Configuration.AppConfigurator.CreateApplication() in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Configuration\AppConfigurator.cs:line 49 at TestStack.Seleno.Configuration.SelenoHost.CreateApplication(Action1 configure) in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Configuration\SelenoHost.cs:line 104 at TestStack.Seleno.Configuration.SelenoHost.Run(Action`1 configure) in C:\ConsoleBuildAgent\work\6625a30e8ee728ba\src\TestStack.Seleno\Configuration\SelenoHost.cs:line 0 at MyNamespace.Host..cctor()

lasaro-dumer commented 6 years ago

Hi, this happened to me too

Seleno is not synced with Selenium, to resolve the issue you will need to use Selenium.* 2.53.0

boeschti commented 6 years ago

It seems Seleno works up to including version 3.5.1 of Selenium Webdriver. All the functions I used up until now work with 3.5.1. Have't tried all features yet of course.

NathanReginato commented 6 years ago

I'm having this issue as well. Using a lower version of Selenium fixed the problem.

KarenSouthwick commented 5 years ago

Thanks, that helped me too!

alohaninja commented 5 years ago

Seleno 3.6.0 seems to be the latest version working for me - this repo seems to be abandoned. 😮

renklapper commented 5 years ago

@alohaninja: I am wondering same thing. I think library is very promising after I look at source code. But, as you mention, little activity in repository.

@MehdiK, @mwhelan, @robdmoore: Any comments?

MehdiK commented 5 years ago

Thanks for the comments @alohaninja and @renklapper. TBH I haven't spent much time on Seleno in the past couple of years for a few reasons. The main reason is that I now have two kids and little to no time for OSS :) :(

Personal reason aside, Seleno was put together in the age of ASP.Net MVC websites. The power and beautify of the framework is its deep integration into ASP.Net MVC. I haven't personally done or seen anyone doing pure ASP.Net MVC web applications lately. In the past few years, I've been using headless browsers for UI testing SPA applications, and something like Seleno doesn't help all that much.

Do you use Seleno and if yes, why and how? Thanks.

renklapper commented 5 years ago

@MehdiK: We have sort of "legacy" Asp.Net MVC application and we are required to write some UI tests. After looking around, this was best solution for UI tests with Asp.Net MVC application.

We actually forked this and upgraded to newest version of Asp.Net MVC, Selenium and other nuget packages. I could open PR to this branch, if you guys are willing to merge and release new version.

alohaninja commented 5 years ago

likewise @renklapper - we have a "legacy" MVC app still using razor views that we still rely on this toolchain for daily. would love to see it get some upgrades. I'm happy to review and commit back any fixes for bugs @MehdiK - totally understand the family commitments. Congrats! 🙌

MehdiK commented 5 years ago

Thanks for your responses @renklapper and @alohaninja. This confirms my suspicion.

Seleno was a great idea and it was implemented relatively nicely. The problem is that it was implemented to support an architecture that went out of favor right after Seleno was born.

I know very few people who are still using Seleno and considering that low use, I have very little incentive to maintain the framework to be perfectly honest with you. That said, I'm quite proud of what we did here and don't want to see it go to waste.

Thanks for volunteering @alohaninja. Using the framework yourself, you are a lot better positioned to maintain it. I'm happy to add you in as a contributor so you can keep it alive. Knowing there are still a few active users, should you decide to do this, I have some expectations :)

What do you think?

wmcainsh commented 5 years ago

Same as the guys above, I still use Seleno and would love to see it maintained. Happy to help if I can but I don't have a lot of spare time just now.

SvenAelterman commented 4 years ago

Here is my attempt, a fork. There should be no breaking changes that I am aware of. It simply makes the minimal necessary changes to make Seleno work with Selenium 3.141 and the related other libraries, including NUnit 3 as the test runner.

I took what I think is a disciplined approach. You can see a whole commit chain where I gradually introduced more changes after I got the initial set of tests to run.

I used VS 2019 for this. I had to add the NUnit 2 and later NUnit 3 extension, which I normally don't use. There are still some things that need to be improved, including

Key to this effort was that while I updated the two samples to .NET 4.7.2, I did not update TestStack.Seleno to target a newer framework version or ASP.NET MVC version. That way, it should continue to work with the older frameworks.

SvenAelterman commented 4 years ago

@MehdiK or @mwhelan Any chance to review that PR?