Comments (1)
Here is an example outlining a login form:
https://github.com/Droogans/ProtractorPageObjects/blob/chapter-5/test/pages/login/Form.js
Notice that I use get
at the top of the page. Each one has a call inside of it referencing an element on the page. The get
method is for detailing your page elements, and aside from that, does not require invocation in order to return a result. It is, in essence, an attribute, not a function.
Meaning,
loginPage.btnLogin.click();
Is correct, whereas
loginPage.btnLogin().click();
Is incorrect.
If you want to invoke something on the page, use value
. For instance:
https://github.com/Droogans/ProtractorPageObjects/blob/chapter-5/test/pages/login/Form.js#L30
Here is a login function, which calls a function.
loginPage.login();
Is correct, whereas
loginPage.login;
would not work.
I recommend putting all of your page elements at the top of the page, in alphabetical order, and prefixing them with something that reminds you what type of element it is. I explain why, among other things, in great detail in the tutorial I wrote that outlines these things, using astrolabe and protractor:
https://github.com/Droogans/ProtractorPageObjects/
from astrolabe.
Related Issues (19)
- LICENSE?
- go method on page object does not work if there is a '/' at the end of the url defined and you pass a parameter
- Multiple instances of the same module on a page does not work
- Explicit waits in page objects
- Feature Request: Mocha Integration HOT 4
- Less verbose api HOT 3
- Feature Request: Ability to create reusable modules for common ui componets HOT 1
- Annotated Source Code
- How to get item by index from findElements? HOT 1
- How to do drag and drop
- How to test page objects from node console
- Protractor 24.1 updates.
- Page.create returns { context : undefined } with protractor 1.0.0-rc1 and node 0.10.25 HOT 2
- No locator strategy for cssContainingText
- Page.go ought to return a Promise
- npm install breaks due to version incompatibilities (sinon vs sinon-chai)
- Astrolabe and protractor 2.0
- Get vs Value
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 astrolabe.