canvaspixels / courgette Goto Github PK
View Code? Open in Web Editor NEWBeautifully simple UI testing for all the team. Test your Web and Native Mobile Apps
Home Page: http://courgette-testing.com
Beautifully simple UI testing for all the team. Test your Web and Native Mobile Apps
Home Page: http://courgette-testing.com
Then I expect to be on the 'contact' page
will just change the page object and assert it's path if the path is not present. Add a note to that effect in the output
Only allow the 4 different keys in the YAML:
and give warnings if anything else is used
New step def required:
When I press 'KEY' on 'LOCATOR'
e.g.
return element(by.css('[data-test="fullname"]')).sendKeys(protractor.Key[key]);
Currently you need to write Given twice for example:
Given givenonpage
givenonpage should expand to include the "Given " as the first placeholder ($1).
Would be good if in case of having duplicated locators, error would state that something was doubled up
Currently cucumber-protractor has only been tested on mac. Get it working for those who are using Windows
All methods in addMethodsBefore should be able to accept an element as well as a locatorKey
https://github.com/canvaspixels/cucumber-protractor/blob/master/uiTestHelpers/hooks/addMethodsBefore.js
Currently they're unoptimised pngs. Maybe give the option of jpeg and compression quality.
Given I am on the page with url 'https://example.com'
When I click on the 'nth' link that contains the text 'foo'
Then I expect to see 'some text' on the page
Add ability to pass data object for checking multiple selectors in a loop for:
Hi,
When I trying to execute npm install [email protected]
postinstall failed
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] postinstall:
scripts/setup.jsnpm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] postinstall script.
My guess is node is missing before "scripts/setup.js"
Thank you
There are less than 10
If you have a lot of pages that largely have the same DOM structure, but different page paths, allow pages to extend other pages. Proposal:
extends: pagename.page
The set value step definitions should clear the value first. Write a test validating this against the email field
If I run this command:
disableHeadless=false npm run-script ct
The browser appears anyway.
Update documentation and posts too
Add step for:
When I wait '1' second
When I wait '2' seconds
When I wait '3' seconds
Courgette is working on linux but it doesn't work on windows at the moment (didn't test mac).
Currently the following are not working with FirefoxDriver:
To aid in writing step definitions. E.g. givenonpage would map to goToPage(PAGENAME)
If the snippet-code changes or one if deleted, the snippet still remains, the folders inside snippets should be deleted before they're create on npm run build-readme-and-snippets
See:
I expect the)? 'LOCATOR' inside the 'LOCATOR' to be (visible
on
https://github.com/canvaspixels/courgette/blob/master/STEP_DEFINITIONS.md#step-definitions
From the cucumber 5 update, the colours green, yellow and red only show for the step file steps, they don't show in the Given When Then regular output. A PR might be required for cucumber js repo.
Add to the runner to show warnings for unused steps
If there's a page path in the page object, then assert it's correct on "I expect to be on the x page", if not then don't, just change the page object. The framework is currently assuming you can deep link into a page.
One locator has been doubled up on 2 page objects or page and component - test will crash with an error message that 'xxx page object not found' - xxx is the page object where locator was defined at the first point
We've been using Courgette for a while now and are now at the point where we want to refactor our tests to have short complicated tests in the .feature files (these should be readable by any person in the organization), simple and reusable step definitions in the .steps file (those should be readable by the developers and QA) and then the common-step-definitions.js should only be read and written by the developers.
We realized that it does not work this way, since loadSteps.js is only including the predefined JavaScript steps, not those that we have written internally (we use them to sort tables, randomize input and iterate over fields).
What is your stance on this? How would you use Courgette to achieve a three-layered approach as I have outlined above?
Currently, it blows up if you run an @ignore tag.
Say why it isn't running and stop it blowing up
Hi,
The set cookie action triggers an InvalidCookieDomain error in firefox 78.
Tags: @courgette-bdd, @courgette-bdd-get-started-reusable-steps
Step: Given I am on the courgette homepage
Steps group step: And I set the cookie 'MCPopupClosed' with value 'yes'
Location: reusable.steps
Feature: uiTests/features/courgette-homepage-bdd.feature:4
Error: InvalidCookieDomainError: Cookies may only be set for the current domain (courgette-testing.com)
at World.theStepDef (/home/administrateur/test_courgette/node_modules/courgette/uiTestHelpers/hooks/loadSteps.js:115:35)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
The error comes from the 'domain:'localhost' line into the file
courgette/uiTestHelpers/stepDefinitions/actions/setCookie.js
When I force this value with the proper domain, all is ok
Is it able either to get automatically the domain from the URL to set the cookie domain or to pass it as a parameter ?
Best regards,
Patrice Fontaine
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.