From 4d41adcd83cf38faed0a40694c4843ee44598bc3 Mon Sep 17 00:00:00 2001 From: Craig Fowler Date: Tue, 26 Mar 2019 20:12:02 +0000 Subject: [PATCH 1/8] Resolve #59 - Increase the default waiting time --- CSF.Screenplay.Selenium/Builders/Wait.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CSF.Screenplay.Selenium/Builders/Wait.cs b/CSF.Screenplay.Selenium/Builders/Wait.cs index 06e44b5..099eb23 100644 --- a/CSF.Screenplay.Selenium/Builders/Wait.cs +++ b/CSF.Screenplay.Selenium/Builders/Wait.cs @@ -13,7 +13,7 @@ namespace CSF.Screenplay.Selenium.Builders /// public class Wait { - static readonly IProvidesTimespan DefaultTimeout = new TimespanWrapper(TimeSpan.FromSeconds(4)); + static readonly IProvidesTimespan DefaultTimeout = new TimespanWrapper(TimeSpan.FromSeconds(10)); IProvidesTimespan timespanProvider; ITarget target; From 71253e49e1dc042e92e622840d9ac98f9ecb6ad4 Mon Sep 17 00:00:00 2001 From: Craig Fowler Date: Tue, 26 Mar 2019 20:38:33 +0000 Subject: [PATCH 2/8] Resolve #58 - Add default-timeout ability --- CSF.Screenplay.Selenium.sln | 2 +- .../Abilities/ChooseADefaultWaitTime.cs | 55 +++++++++++++++++++ CSF.Screenplay.Selenium/Builders/Wait.cs | 14 ++--- .../CSF.Screenplay.Selenium.csproj | 3 + .../ScreenplayConstants.cs | 33 +++++++++++ CSF.Screenplay.Selenium/Waits/GetDuration.cs | 50 +++++++++++++++++ .../Waits/WaitForACondition.cs | 8 +-- .../Waits/WaitUntilThePageLoads.cs | 8 +-- 8 files changed, 154 insertions(+), 19 deletions(-) create mode 100644 CSF.Screenplay.Selenium/Abilities/ChooseADefaultWaitTime.cs create mode 100644 CSF.Screenplay.Selenium/ScreenplayConstants.cs create mode 100644 CSF.Screenplay.Selenium/Waits/GetDuration.cs diff --git a/CSF.Screenplay.Selenium.sln b/CSF.Screenplay.Selenium.sln index b6ab4ea..0710695 100644 --- a/CSF.Screenplay.Selenium.sln +++ b/CSF.Screenplay.Selenium.sln @@ -72,6 +72,6 @@ Global {87454F03-FBB3-4506-9055-551297445891} = {ED939EED-BD26-4C3C-9089-48E04DD01CD8} EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution - version = 0.5.0-beta + version = 0.5.0-beta EndGlobalSection EndGlobal diff --git a/CSF.Screenplay.Selenium/Abilities/ChooseADefaultWaitTime.cs b/CSF.Screenplay.Selenium/Abilities/ChooseADefaultWaitTime.cs new file mode 100644 index 0000000..ae1f39e --- /dev/null +++ b/CSF.Screenplay.Selenium/Abilities/ChooseADefaultWaitTime.cs @@ -0,0 +1,55 @@ +// +// SetADefaultWaitTime.cs +// +// Author: +// Craig Fowler +// +// Copyright (c) 2019 Craig Fowler +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +using System; +using CSF.Screenplay.Abilities; + +namespace CSF.Screenplay.Selenium.Abilities +{ + /// + /// An ability which allows an actor to specify/choose a default amount of time to wait. + /// This default waiting-time applies to all web-driver-wait scenarios where no waiting time has been specified. + /// Actors without this ability use a hard-coded default of ten seconds for waits. + /// + public class ChooseADefaultWaitTime : Ability + { + readonly TimeSpan timeout; + + /// + /// Gets the wait timeout. + /// + /// The timeout. + public TimeSpan Timeout => timeout; + + /// + /// Initializes a new instance of the class. + /// + /// Timeout. + public ChooseADefaultWaitTime(TimeSpan timeout) + { + this.timeout = timeout; + } + } +} diff --git a/CSF.Screenplay.Selenium/Builders/Wait.cs b/CSF.Screenplay.Selenium/Builders/Wait.cs index 099eb23..7f780b9 100644 --- a/CSF.Screenplay.Selenium/Builders/Wait.cs +++ b/CSF.Screenplay.Selenium/Builders/Wait.cs @@ -13,8 +13,6 @@ namespace CSF.Screenplay.Selenium.Builders /// public class Wait { - static readonly IProvidesTimespan DefaultTimeout = new TimespanWrapper(TimeSpan.FromSeconds(10)); - IProvidesTimespan timespanProvider; ITarget target; @@ -57,11 +55,7 @@ public static Wait Until(ITarget target) if(target == null) throw new ArgumentNullException(nameof(target)); - return new Wait - { - target = target, - timespanProvider = DefaultTimeout, - }; + return new Wait { target = target }; } /// @@ -72,20 +66,20 @@ public static Wait Until(ITarget target) /// A name for the condition. public static IPerformable Until(Func expectedCondition, string conditionName) { - return new WaitForACondition(expectedCondition, conditionName, DefaultTimeout.GetTimespan()); + return new WaitForACondition(expectedCondition, conditionName, null); } /// /// Gets a 'wait' performable which completes once the page has finished loading, using the default timeout. /// /// The performable. - public static IPerformable UntilThePageLoads() => new WaitUntilThePageLoads(DefaultTimeout.GetTimespan()); + public static IPerformable UntilThePageLoads() => new WaitUntilThePageLoads(null); /// /// Gets a 'wait' performable which completes once the page has finished loading. /// /// The performable. - public IPerformable OrUntilThePageLoads() => new WaitUntilThePageLoads(timespanProvider.GetTimespan()); + public IPerformable OrUntilThePageLoads() => new WaitUntilThePageLoads(timespanProvider?.GetTimespan()); /// /// Gets a wait builder for a given target. diff --git a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.csproj b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.csproj index 69b1bf0..59a02fe 100644 --- a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.csproj +++ b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.csproj @@ -210,6 +210,9 @@ + + + diff --git a/CSF.Screenplay.Selenium/ScreenplayConstants.cs b/CSF.Screenplay.Selenium/ScreenplayConstants.cs new file mode 100644 index 0000000..de5d826 --- /dev/null +++ b/CSF.Screenplay.Selenium/ScreenplayConstants.cs @@ -0,0 +1,33 @@ +// +// ScreenplayConstant.cs +// +// Author: +// Craig Fowler +// +// Copyright (c) 2019 Craig Fowler +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +using System; +namespace CSF.Screenplay.Selenium +{ + static class ScreenplayConstants + { + public static readonly TimeSpan DefaultWait = TimeSpan.FromSeconds(10); + } +} diff --git a/CSF.Screenplay.Selenium/Waits/GetDuration.cs b/CSF.Screenplay.Selenium/Waits/GetDuration.cs new file mode 100644 index 0000000..7f5e1f2 --- /dev/null +++ b/CSF.Screenplay.Selenium/Waits/GetDuration.cs @@ -0,0 +1,50 @@ +// +// GetWaitDuration.cs +// +// Author: +// Craig Fowler +// +// Copyright (c) 2019 Craig Fowler +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +using System; +using CSF.Screenplay.Actors; +using CSF.Screenplay.Selenium.Abilities; + +namespace CSF.Screenplay.Selenium.Waits +{ + static class GetDuration + { + public static TimeSpan ToWait(TimeSpan? specifiedWaitTime, INamed actor) + => ToWait(specifiedWaitTime, actor as IPerformer); + + public static TimeSpan ToWait(TimeSpan? specifiedWaitTime, IPerformer actor) + => specifiedWaitTime ?? GetActorWaitTime(actor) ?? GetDefaultWaitTime(); + + static TimeSpan GetDefaultWaitTime() => ScreenplayConstants.DefaultWait; + + static TimeSpan? GetActorWaitTime(IPerformer actor) + { + if(actor == null) return null; + if(!actor.HasAbility()) return null; + var ability = actor.GetAbility(); + return ability.Timeout; + } + } +} diff --git a/CSF.Screenplay.Selenium/Waits/WaitForACondition.cs b/CSF.Screenplay.Selenium/Waits/WaitForACondition.cs index f5e3dc4..5af6ade 100644 --- a/CSF.Screenplay.Selenium/Waits/WaitForACondition.cs +++ b/CSF.Screenplay.Selenium/Waits/WaitForACondition.cs @@ -17,7 +17,7 @@ public class WaitForACondition : Performable { readonly Func condition; readonly string conditionName; - readonly TimeSpan timeout; + readonly TimeSpan? timeout; readonly IFormatsDurations durationFormatter; /// @@ -27,7 +27,7 @@ public class WaitForACondition : Performable /// An actor for whom to write the report. protected override string GetReport(INamed actor) { - var formattedTime = durationFormatter.GetDuration(timeout); + var formattedTime = durationFormatter.GetDuration(GetDuration.ToWait(timeout, actor)); return $"{actor.Name} waits for {conditionName} or until {formattedTime} has passed"; } @@ -38,7 +38,7 @@ protected override string GetReport(INamed actor) protected override void PerformAs(IPerformer actor) { var ability = actor.GetAbility(); - var wait = new WebDriverWait(ability.WebDriver, timeout); + var wait = new WebDriverWait(ability.WebDriver, GetDuration.ToWait(timeout, actor)); try { @@ -56,7 +56,7 @@ protected override void PerformAs(IPerformer actor) /// Condition. /// Condition name. /// Timeout. - public WaitForACondition(Func condition, string conditionName, TimeSpan timeout) + public WaitForACondition(Func condition, string conditionName, TimeSpan? timeout) { if(conditionName == null) throw new ArgumentNullException(nameof(conditionName)); diff --git a/CSF.Screenplay.Selenium/Waits/WaitUntilThePageLoads.cs b/CSF.Screenplay.Selenium/Waits/WaitUntilThePageLoads.cs index fd76a07..1f13d15 100644 --- a/CSF.Screenplay.Selenium/Waits/WaitUntilThePageLoads.cs +++ b/CSF.Screenplay.Selenium/Waits/WaitUntilThePageLoads.cs @@ -19,7 +19,7 @@ public class WaitUntilThePageLoads : Performable const string COMPLETE = "complete"; readonly IFormatsDurations durationFormatter; - readonly TimeSpan timeout; + readonly TimeSpan? timeout; /// /// Gets the report of the current instance, for the given actor. @@ -28,7 +28,7 @@ public class WaitUntilThePageLoads : Performable /// An actor for whom to write the report. protected override string GetReport(INamed actor) { - var timeoutString = durationFormatter.GetDuration(timeout); + var timeoutString = durationFormatter.GetDuration(GetDuration.ToWait(timeout, actor)); return $"{actor.Name} waits for at most {timeoutString} or until the page has loaded"; } @@ -40,7 +40,7 @@ protected override void PerformAs(IPerformer actor) { var ability = actor.GetAbility(); var action = Execute.JavaScript.WhichGetsTheDocumentReadyState(); - var wait = new WebDriverWait(ability.WebDriver, timeout); + var wait = new WebDriverWait(ability.WebDriver, GetDuration.ToWait(timeout, actor)); try { @@ -56,7 +56,7 @@ protected override void PerformAs(IPerformer actor) /// Initializes a new instance of the class. /// /// Timeout. - public WaitUntilThePageLoads(TimeSpan timeout) + public WaitUntilThePageLoads(TimeSpan? timeout) { this.timeout = timeout; durationFormatter = new TimeSpanFormattingStrategy(); From 2a2c42dc5fece694a30c66847096ab18b5e255f3 Mon Sep 17 00:00:00 2001 From: Craig Fowler Date: Tue, 26 Mar 2019 20:42:29 +0000 Subject: [PATCH 3/8] Add unit test to cover #58 --- .../Waits/WaitUntilVisibleTests.cs | 33 +++++++++++++++++++ .../Abilities/ChooseADefaultWaitTime.cs | 7 ++++ CSF.Screenplay.Selenium/Builders/Wait.cs | 2 +- .../Waits/TargettedWait.cs | 8 ++--- 4 files changed, 45 insertions(+), 5 deletions(-) diff --git a/CSF.Screenplay.Selenium.Tests/Waits/WaitUntilVisibleTests.cs b/CSF.Screenplay.Selenium.Tests/Waits/WaitUntilVisibleTests.cs index a98d9e5..612bc80 100644 --- a/CSF.Screenplay.Selenium.Tests/Waits/WaitUntilVisibleTests.cs +++ b/CSF.Screenplay.Selenium.Tests/Waits/WaitUntilVisibleTests.cs @@ -43,5 +43,38 @@ public void Wait_UntilVisible_raises_exception_if_we_dont_wait_long_enough(ICast When(joe).AttemptsTo(Wait.ForAtMost(2).Seconds().OrUntil(PageThree.DelayedLinkOne).IsVisible()); }); } + + [Test,Screenplay] + [Description("If the actor's default wait time is not long enough for the element to appear then an exception is raised.")] + public void Wait_UntilVisible_raises_exception_if_actors_default_wait_time_is_not_long_enough(ICast cast, BrowseTheWeb browseTheWeb) + { + var joe = cast.Get("Joe"); + joe.IsAbleTo(browseTheWeb); + joe.IsAbleTo(ChooseADefaultWaitTime.Of(TimeSpan.FromSeconds(2))); + + Given(joe).WasAbleTo(OpenTheirBrowserOn.ThePage()); + + When(joe).AttemptsTo(Click.On(PageThree.DelayedButtonOne)); + + Assert.Throws(() => { + When(joe).AttemptsTo(Wait.Until(PageThree.DelayedLinkOne).IsVisible()); + }); + } + + [Test,Screenplay] + [Description("If the actor's default wait time is sufficient for the element to appear then no exception is raised.")] + public void Wait_UntilVisible_does_not_raise_exception_if_actors_default_wait_time_is_long_enough(ICast cast, BrowseTheWeb browseTheWeb) + { + var joe = cast.Get("Joe"); + joe.IsAbleTo(browseTheWeb); + joe.IsAbleTo(ChooseADefaultWaitTime.Of(TimeSpan.FromSeconds(5))); + + Given(joe).WasAbleTo(OpenTheirBrowserOn.ThePage()); + + When(joe).AttemptsTo(Click.On(PageThree.DelayedButtonOne)); + When(joe).AttemptsTo(Wait.Until(PageThree.DelayedLinkOne).IsVisible()); + + Then(joe).ShouldSee(TheText.Of(PageThree.DelayedLinkOne)).Should().Be("This link appears!"); + } } } diff --git a/CSF.Screenplay.Selenium/Abilities/ChooseADefaultWaitTime.cs b/CSF.Screenplay.Selenium/Abilities/ChooseADefaultWaitTime.cs index ae1f39e..a31a775 100644 --- a/CSF.Screenplay.Selenium/Abilities/ChooseADefaultWaitTime.cs +++ b/CSF.Screenplay.Selenium/Abilities/ChooseADefaultWaitTime.cs @@ -51,5 +51,12 @@ public ChooseADefaultWaitTime(TimeSpan timeout) { this.timeout = timeout; } + + /// + /// Static builder function to get a new instance of this ability. + /// + /// An instance of the ability. + /// Timeout. + public static ChooseADefaultWaitTime Of(TimeSpan timeout) => new ChooseADefaultWaitTime(timeout); } } diff --git a/CSF.Screenplay.Selenium/Builders/Wait.cs b/CSF.Screenplay.Selenium/Builders/Wait.cs index 7f780b9..e2fab04 100644 --- a/CSF.Screenplay.Selenium/Builders/Wait.cs +++ b/CSF.Screenplay.Selenium/Builders/Wait.cs @@ -167,7 +167,7 @@ ITargettedWait GetTargettedWait(IQuery query, Func predicate) if(target == null) throw new InvalidOperationException("You must choose a target."); - return new TargettedWait(target, query, predicate, timespanProvider.GetTimespan()); + return new TargettedWait(target, query, predicate, timespanProvider?.GetTimespan()); } } } diff --git a/CSF.Screenplay.Selenium/Waits/TargettedWait.cs b/CSF.Screenplay.Selenium/Waits/TargettedWait.cs index 9835b7b..fe5ff6c 100644 --- a/CSF.Screenplay.Selenium/Waits/TargettedWait.cs +++ b/CSF.Screenplay.Selenium/Waits/TargettedWait.cs @@ -21,7 +21,7 @@ public class TargettedWait : Performable, ITargettedWait readonly ITarget target; readonly IQuery query; readonly Func predicate; - readonly TimeSpan timeout; + readonly TimeSpan? timeout; readonly ISet ignoredExceptionTypes; readonly IFormatsDurations durationFormatter; @@ -42,7 +42,7 @@ protected override string GetReport(INamed actor) var actorName = actor.Name; var targetName = target.GetName(); var matchDescription = query.GetMatchDescription(); - var timeoutString = durationFormatter.GetDuration(timeout); + var timeoutString = durationFormatter.GetDuration(GetDuration.ToWait(timeout, actor)); return $"{actorName} waits for at most {timeoutString} or until {targetName} {matchDescription}."; } @@ -84,7 +84,7 @@ protected virtual IWebElementAdapter GetWebElementAdapter(IWebDriver driver) /// Ability. protected virtual void Wait(IPerformer actor, BrowseTheWeb ability) { - var wait = new WebDriverWait(ability.WebDriver, timeout); + var wait = new WebDriverWait(ability.WebDriver, GetDuration.ToWait(timeout, actor)); ConfigureWait(wait); Wait(actor, wait); } @@ -138,7 +138,7 @@ protected virtual bool WaitConditionIsSatisfied(IWebDriver driver) public TargettedWait(ITarget target, IQuery query, Func predicate, - TimeSpan timeout) + TimeSpan? timeout) { if(predicate == null) throw new ArgumentNullException(nameof(predicate)); From 3111049f7b03b553afdec3b1c8ba017c89c6a561 Mon Sep 17 00:00:00 2001 From: Craig Fowler Date: Wed, 27 Mar 2019 08:03:26 +0000 Subject: [PATCH 4/8] Resolve #60 - Fix unsupported browser selection --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3095465..4c351a6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -68,7 +68,7 @@ matrix: - env: - WebDriver_Platform="macOS 10.13" - WebDriver_BrowserName="Safari" - - WebDriver_BrowserVersion="11.0" + - WebDriver_BrowserVersion="11.1" - env: - WebDriver_BrowserName="Safari" - WebDriver_BrowserVersion="latest" From e09df107e50bdd9f1b05f7dd7f48d1dcc37600aa Mon Sep 17 00:00:00 2001 From: Craig Fowler Date: Wed, 27 Mar 2019 18:34:14 +0000 Subject: [PATCH 5/8] Attempt to fix failing build by specifying version --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 4c351a6..0763540 100644 --- a/.travis.yml +++ b/.travis.yml @@ -70,6 +70,7 @@ matrix: - WebDriver_BrowserName="Safari" - WebDriver_BrowserVersion="11.1" - env: + - WebDriver_Platform="macOS 10.13" - WebDriver_BrowserName="Safari" - WebDriver_BrowserVersion="latest" From 412358ef42f0545a9dedb371c8673a0523dde700 Mon Sep 17 00:00:00 2001 From: Craig Fowler Date: Wed, 27 Mar 2019 19:12:01 +0000 Subject: [PATCH 6/8] Bump versions --- .../CSF.Screenplay.Selenium.BrowserFlags.Tests.csproj | 2 +- .../CSF.Screenplay.Selenium.BrowserFlags.csproj | 2 +- .../CSF.Screenplay.Selenium.BrowserFlags.nuspec | 2 +- CSF.Screenplay.Selenium.BrowserFlags/Properties/AssemblyInfo.cs | 2 +- .../CSF.Screenplay.Selenium.JavaScriptWorkarounds.csproj | 2 +- .../Properties/AssemblyInfo.cs | 2 +- .../CSF.Screenplay.Selenium.Tests.csproj | 2 +- CSF.Screenplay.Selenium.sln | 2 +- CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.csproj | 2 +- CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec | 2 +- CSF.Screenplay.Selenium/Properties/AssemblyInfo.cs | 2 +- .../CSF.Screenplay.WebTestWebsite.csproj | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/CSF.Screenplay.Selenium.BrowserFlags.Tests/CSF.Screenplay.Selenium.BrowserFlags.Tests.csproj b/CSF.Screenplay.Selenium.BrowserFlags.Tests/CSF.Screenplay.Selenium.BrowserFlags.Tests.csproj index c722dd9..1df7523 100644 --- a/CSF.Screenplay.Selenium.BrowserFlags.Tests/CSF.Screenplay.Selenium.BrowserFlags.Tests.csproj +++ b/CSF.Screenplay.Selenium.BrowserFlags.Tests/CSF.Screenplay.Selenium.BrowserFlags.Tests.csproj @@ -8,7 +8,7 @@ CSF.Screenplay.Selenium.Tests CSF.Screenplay.Selenium.BrowserFlags.Tests v4.5 - 0.5.0-beta + 1.0.0 true diff --git a/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.csproj b/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.csproj index 97d4352..6e9f9df 100644 --- a/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.csproj +++ b/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.csproj @@ -8,7 +8,7 @@ CSF.Screenplay.Selenium CSF.Screenplay.Selenium.BrowserFlags v4.5 - 0.5.0-beta + 1.0.0 true diff --git a/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.nuspec b/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.nuspec index 36abf70..ff2212f 100644 --- a/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.nuspec +++ b/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.nuspec @@ -2,7 +2,7 @@ CSF.Screenplay.Selenium.BrowserFlags - 0.5.0-beta + 1.0.0 CSF.Screenplay.Selenium.BrowserFlags CSF Software Ltd https://opensource.org/licenses/MIT diff --git a/CSF.Screenplay.Selenium.BrowserFlags/Properties/AssemblyInfo.cs b/CSF.Screenplay.Selenium.BrowserFlags/Properties/AssemblyInfo.cs index c38b7e9..d14392e 100644 --- a/CSF.Screenplay.Selenium.BrowserFlags/Properties/AssemblyInfo.cs +++ b/CSF.Screenplay.Selenium.BrowserFlags/Properties/AssemblyInfo.cs @@ -17,7 +17,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion("0.5.0.0")] +[assembly: AssemblyVersion("1.0.0.0")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. diff --git a/CSF.Screenplay.Selenium.JavaScriptWorkarounds/CSF.Screenplay.Selenium.JavaScriptWorkarounds.csproj b/CSF.Screenplay.Selenium.JavaScriptWorkarounds/CSF.Screenplay.Selenium.JavaScriptWorkarounds.csproj index 4d12940..5b9511c 100644 --- a/CSF.Screenplay.Selenium.JavaScriptWorkarounds/CSF.Screenplay.Selenium.JavaScriptWorkarounds.csproj +++ b/CSF.Screenplay.Selenium.JavaScriptWorkarounds/CSF.Screenplay.Selenium.JavaScriptWorkarounds.csproj @@ -8,7 +8,7 @@ CSF.Screenplay.Selenium CSF.Screenplay.Selenium.JavaScriptWorkarounds v4.5 - 0.5.0-beta + 1.0.0 true diff --git a/CSF.Screenplay.Selenium.JavaScriptWorkarounds/Properties/AssemblyInfo.cs b/CSF.Screenplay.Selenium.JavaScriptWorkarounds/Properties/AssemblyInfo.cs index 37a559e..13b84a4 100644 --- a/CSF.Screenplay.Selenium.JavaScriptWorkarounds/Properties/AssemblyInfo.cs +++ b/CSF.Screenplay.Selenium.JavaScriptWorkarounds/Properties/AssemblyInfo.cs @@ -17,7 +17,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion("0.5.0.0")] +[assembly: AssemblyVersion("1.0.0.0")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. diff --git a/CSF.Screenplay.Selenium.Tests/CSF.Screenplay.Selenium.Tests.csproj b/CSF.Screenplay.Selenium.Tests/CSF.Screenplay.Selenium.Tests.csproj index 8a65512..c2c58b6 100644 --- a/CSF.Screenplay.Selenium.Tests/CSF.Screenplay.Selenium.Tests.csproj +++ b/CSF.Screenplay.Selenium.Tests/CSF.Screenplay.Selenium.Tests.csproj @@ -8,7 +8,7 @@ CSF.Screenplay.Selenium.Tests CSF.Screenplay.Selenium.Tests v4.5 - 0.5.0-beta + 1.0.0 true diff --git a/CSF.Screenplay.Selenium.sln b/CSF.Screenplay.Selenium.sln index 0710695..51012a3 100644 --- a/CSF.Screenplay.Selenium.sln +++ b/CSF.Screenplay.Selenium.sln @@ -72,6 +72,6 @@ Global {87454F03-FBB3-4506-9055-551297445891} = {ED939EED-BD26-4C3C-9089-48E04DD01CD8} EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution - version = 0.5.0-beta + version = 1.0.0 EndGlobalSection EndGlobal diff --git a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.csproj b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.csproj index 59a02fe..4ee9dd7 100644 --- a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.csproj +++ b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.csproj @@ -8,7 +8,7 @@ CSF.Screenplay.Selenium CSF.Screenplay.Selenium v4.5 - 0.5.0-beta + 1.0.0 true diff --git a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec index 57e5173..be5b972 100644 --- a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec +++ b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec @@ -2,7 +2,7 @@ CSF.Screenplay.Selenium - 0.5.0-beta + 1.0.0 CSF.Screenplay.Selenium CSF Software Ltd https://opensource.org/licenses/MIT diff --git a/CSF.Screenplay.Selenium/Properties/AssemblyInfo.cs b/CSF.Screenplay.Selenium/Properties/AssemblyInfo.cs index bbae521..4ae04de 100644 --- a/CSF.Screenplay.Selenium/Properties/AssemblyInfo.cs +++ b/CSF.Screenplay.Selenium/Properties/AssemblyInfo.cs @@ -17,7 +17,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion("0.5.0.0")] +[assembly: AssemblyVersion("1.0.0.0")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. diff --git a/CSF.Screenplay.WebTestWebsite/CSF.Screenplay.WebTestWebsite.csproj b/CSF.Screenplay.WebTestWebsite/CSF.Screenplay.WebTestWebsite.csproj index a33954b..a271817 100644 --- a/CSF.Screenplay.WebTestWebsite/CSF.Screenplay.WebTestWebsite.csproj +++ b/CSF.Screenplay.WebTestWebsite/CSF.Screenplay.WebTestWebsite.csproj @@ -9,7 +9,7 @@ CSF.Screenplay.WebTestWebsite CSF.Screenplay.WebTestWebsite v4.5 - 0.5.0-beta + 1.0.0 true From 49a45cdfca18ae42a6e53cf7c55deed4d98794ce Mon Sep 17 00:00:00 2001 From: Craig Fowler Date: Wed, 27 Mar 2019 19:14:18 +0000 Subject: [PATCH 7/8] Update NuGet dependencies --- CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec index be5b972..504c75f 100644 --- a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec +++ b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec @@ -15,9 +15,9 @@ - + - + From 18c0dcb88848527cc8628ce41ad6ca19ca7b1454 Mon Sep 17 00:00:00 2001 From: Craig Fowler Date: Wed, 27 Mar 2019 19:21:49 +0000 Subject: [PATCH 8/8] Update nuspec with new license link --- .../CSF.Screenplay.Selenium.BrowserFlags.nuspec | 2 +- CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.nuspec b/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.nuspec index ff2212f..7e2b910 100644 --- a/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.nuspec +++ b/CSF.Screenplay.Selenium.BrowserFlags/CSF.Screenplay.Selenium.BrowserFlags.nuspec @@ -5,7 +5,7 @@ 1.0.0 CSF.Screenplay.Selenium.BrowserFlags CSF Software Ltd - https://opensource.org/licenses/MIT + MIT https://github.com/csf-dev/CSF.Screenplay.Selenium false An assembly containing 'browser flags definitions' for CSF.Screenplay.Selenium. This indicates the quirks and behaviours of various popular web browsers which are compatible with Selenium WebDriver. diff --git a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec index 504c75f..00d3fa8 100644 --- a/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec +++ b/CSF.Screenplay.Selenium/CSF.Screenplay.Selenium.nuspec @@ -5,7 +5,7 @@ 1.0.0 CSF.Screenplay.Selenium CSF Software Ltd - https://opensource.org/licenses/MIT + MIT https://github.com/csf-dev/CSF.Screenplay.Selenium false Extension to CSF.Screenplay, providing an ability, actions and tasks for Selenium WebDriver for web UI testing using the Screenplay pattern