Comments (13)
@dchristensen - thoughts? I see that you were the last one to touch AllReady.ScenarioTest.fsproj.
from allready.
Found another issue related to AllReady.ScenarioTest project. It is missing a dependency on the allReady project.
Fixed - PR to come.
from allready.
@c0g1t8 I don't know that its worthwhile to spend a lot of time working on the AllReady.ScenarioTest project. They are not well maintained and there isn't really anyone who is actively working on the project who is familiar with F# or canopy. I know @stevejgordon was working to replace them with tests written in C# at one point, but I don't know how far the effort got.
from allready.
from allready.
@dchristensen I agree with you. My primary goal right now is simply to get the web part of the solution building and passing unit tests. I messaged @stevejgordon on Slack a little over a week ago. He indicated that he and @MisterJames were working on some new plans.
from allready.
I've changed the description of this issue so it encompasses all the issues I've discovered. I was initially just having issues getting AllReady.ScenarioTest to build consistently.
- AllReady.ScenarioTest built before AllReady was built
- added a dependency in AllReadyWebOnly.sln
- Was unable to build since 4.6.2 is not installed by default by VS2017 Community
- changed to use 4.6.1 which is the latest installed by default with VS2017 Community
- AppVeyor build was using ChromeDriver 2.45 but local build was using ChromeDriver 2.33
- updated to ChromeDriver 2.45 for local testing
- necessary to be work with current version of Chrome Version 72.0.3626.119 (Official Build) (64-bit)
Even with these changes the test results are inconsistent. That is, tests that may have passed before may or may not pass when the test is run again. Two tests do fail consistently.
Test: Admin can create task
Couldn't find any elements with selector 'Create Task', did you mean:
Campaigns
.alert
.alert-success
.caret
.alert-danger
Error:
can't find element Create Task
Url: http://localhost:48408/Admin/Event/Details/8011
Exception details:
canopy.types+CanopyElementNotFoundException: can't find element Create Task
at canopy.wait.waitResults[a](Double timeout, FSharpFunc2 f) in C:\projects\canopy\src\canopy\wait.fs:line 30 at canopy.core.click[a](a item) in C:\projects\canopy\src\canopy\canopy.fs:line 670 at Pages.AdminEventDetails.CreateNewTask[a](a _arg1) in C:\repos\allReady\AllReadyApp\AllReady.IntegrationTest\Pages.fs:line 216 at [email protected](Unit _arg7) in C:\repos\allReady\AllReadyApp\AllReady.IntegrationTest\CreatingOrgsAndCampaigns.fs:line 81 at canopy.runner.tryTest[a,b](a test, b suite, FSharpFunc
2 func) in C:\projects\canopy\src\canopy\runner.fs:line 134
Test: The Org Admin can create task
Couldn't find any elements with selector 'Create Task', did you mean:
Campaigns
.alert
.alert-success
.caret
.alert-danger
Error:
can't find element Create Task
Url: http://localhost:48408/Admin/Event/Details/8012
Exception details:
canopy.types+CanopyElementNotFoundException: can't find element Create Task
at canopy.wait.waitResults[a](Double timeout, FSharpFunc2 f) in C:\projects\canopy\src\canopy\wait.fs:line 30 at canopy.core.click[a](a item) in C:\projects\canopy\src\canopy\canopy.fs:line 670 at Pages.AdminEventDetails.CreateNewTask[a](a _arg1) in C:\repos\allReady\AllReadyApp\AllReady.IntegrationTest\Pages.fs:line 216 at [email protected](Unit _arg5) in C:\repos\allReady\AllReadyApp\AllReady.IntegrationTest\CreatingActivitiesForCampaigns.fs:line 63 at canopy.runner.tryTest[a,b](a test, b suite, FSharpFunc
2 func) in C:\projects\canopy\src\canopy\runner.fs:line 134
Resolving this locally is next on my list. Again the goal is to simply to get an acceptable build in AppVeyor.
from allready.
Attempted to isolate a fix for this issue alone - PR #2350.
The initial error is a timeout. This did not occur when the test was run locally. Did get the two test case failures as noted above locally.
Could it be that the build server needs more time to warm up?
from allready.
Temporarily disabled the two broken tests and committed -3bec725. The results still show a timeout at line 646.
Now looking into extending the timeouts in Canopy.
from allready.
After multiple trial an error, I was able to reproduce the problem found in AppVeyor. The cause appears to be because a critical NPM package was not being restored in the AppVeyor build - jquery.
On AppVeyor it's always a clean build straight from the repository and is done through the command line. It appears that the cause of the problem is due some javacript libraries are not being restored. This causes the browser tests fits. The normal build and test cycles in VS2017 seems to have gotten them restored.
There appears to be some linkage with #2346.
from allready.
After multiple trial an error, I was able to reproduce the problem found in AppVeyor. The cause appears to be because a critical NPM package was not being restored in the AppVeyor build - jquery.
On AppVeyor it's always a clean build straight from the repository and is done through the command line. It appears that the cause of the problem is due some javacript libraries are not being restored. This causes the browser tests fits. The normal build and test cycles in VS2017 seems to have gotten them restored.
There appears to be some linkage with #2346.
I thought I would provide an update on this issue.
- I can confirm that one of the primary reasons for ScenarioTest not passing is that the client side packages are not being restored fully on the AppVeyor build server. I believe this is all related to using Node 10 by default. Moving forward this will be addressed #2346 - see notes there.
- On the two repeatable failure cases, the root cause is due to the event upon which the task test is being executed has both the event start and end date being populated with the current date as of the execution of the test. The event to be created was to start 1 day after creation and end 5 days after creation.
Canopy is not interacting with the datetimepicker control as expected.
from allready.
Finally figured it out.
Will create a PR with the fix.
from allready.
I've abandoned a possible fix in PR #2350 and closed. I did learn a few things and included the fix as part of PR #2352.
- Upgraded the Scenario.Test project to Canopy 2 and Core 2.1.
- Fixed a fewer minor bugs in the tests themselves
The tests are now passing.
After spending many hours on this issue, I think moving the testing to a testing framework with C#/Selenium would be a better long term goal.
from allready.
I've done some further testing. The underlying issue with this implementation appears to be timing. An action on a browser page may not be complete before the next action on the browser page is executed.
In PR #2352, I had removed knockout-bootstrap to address a warning caused by some jQuery version conflict. It was suppose to be a temporary fix.
When I added knockout-bootstrap back, I had sporadic failures locally and more consistent failure on the AppVeyor build server.
I was not able to reproduce the problem interactively. Thus my suspicions.
from allready.
Related Issues (20)
- Virtual - registration phone number Check not given for 5 digit number
- Virtual- Home/Assign page Location Needs Data Validation HOT 1
- Virtual-Remove Button on Volunteer Page
- Virtual-Volunteer Home-Description Text
- Virtual-Change Contact Info
- Virtual-My Organization page - Location Field
- Virtual-Register A New organization
- Virtual - Server Error in '/' Application - A person cannot belong to more than one organization. - happens when Register New Organization with 'test' in Organization Name and all the other fields empty HOT 1
- Virtual - Server Error in '/' Application - Logged-in person not found or is an administrator - happens when Register New Organization with ยด in Organization Name and all the other fields empty HOT 1
- Virtual - CheckinResource - Many chars in Quantity gives an error messages that stretches the webpage a long way to the right HOT 1
- Build Issues with 37833fcf2ea4d1f54d0e846c78ff79b307509809 HOT 1
- NETSDK1059 warning HOT 1
- Gulp 3.9.1 Issues with Node 10 HOT 4
- Campaign Start/End Date does not appear correctly on Admin/Event/Create page HOT 2
- Error when signing up to the mail list HOT 3
- Is This Repository still maintained?? HOT 7
- Visual studio problems to run C/C++
- Is this repo maintain so far? HOT 1
- Idempotency Issue with SMS sending function: Add duplicate message detection
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from allready.