Open boeschti opened 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
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.
I'm having this issue as well. Using a lower version of Selenium fixed the problem.
Thanks, that helped me too!
Seleno 3.6.0 seems to be the latest version working for me - this repo seems to be abandoned. 😮
Are there any active maintainers for this solution?
What else are people using to keep current with Selenium.WebDriver
@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?
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.
@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.
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! 🙌
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?
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.
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.
@MehdiK or @mwhelan Any chance to review that PR?
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(IActivatedEventArgs
1 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, IEnumerable
1 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, IEnumerable
1 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, IEnumerable
1 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(Action
1 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()