Hi all,
I am newbie (QA) and converting scripts from another selenium-based to Cubano. Let me give a brief information about feature which I am encountering issues:
1. Go to Signup page, enter essential information
->Expected: the login page is loaded.
2. On Login page, enter registered information (username, password)
-> Expected: the Home page is loaded with On-boarding dialog
I created 3 pages object classes (SignUp, SignIn, HomePage) and a WorkFlow page
When running the fixture file (running stand-alone) the Chrome is invoked but the url is "data:," instead of signUp url ( sure that the url is configured in user.properties file). The error message is not find element.
Would you all possibly give more hints or ides to debug.
Any ideas to debug more.
```
package cypress.realworldapp.ui.workflow;
import cypress.realworldapp.ui.domain.SignInPage;
import cypress.realworldapp.ui.domain.SignUpPage;
import org.concordion.cubano.driver.BrowserBasedTest;
import org.concordion.cubano.template.driver.ui.PageObject;
import org.openqa.selenium.support.ui.ExpectedCondition;
import java.util.function.Consumer;
public class SignUpWorkflow extends PageObject<SignUpWorkflow> {
public SignUpWorkflow(BrowserBasedTest test) {
super(test);
}
public static SignUpWorkflow invokeProcess(BrowserBasedTest browserBasedTest){
return new SignUpWorkflow(browserBasedTest);
};
public SignUpWorkflow callSignUpProcess(Consumer<SignUpPage> signUpPageConsumer){
SignUpPage signUpPage = new SignUpPage(getTest());
signUpPageConsumer.accept(signUpPage);
return new SignUpWorkflow(getTest());
}
public SignUpWorkflow callSignInProcess(Consumer<SignInPage> signInPageConsumer){
SignInPage signInPage = new SignInPage(getTest());
signInPageConsumer.accept(signInPage);
return new SignUpWorkflow(getTest());
}
@Override
public ExpectedCondition<?> pageIsLoaded(Object... params) {
return null;
}
}
```
Fixture file:
```
public class SignUpFixture extends CubanoDemoBrowserFixture {
public void signUpWorkFlow(String fullName, String userName, String password, String confirmPassword) {
SignUpWorkflow
.invokeProcess(this)
.callSignUpProcess(p -> {
p.goTo();
p.registerAccount(fullName, userName, password, confirmPassword);
})
.callSignInProcess(p -> {
p.signIn(userName, password);
});
}
public boolean assertSignUpSuccessfully() {
return HomePage.open(this).isOnBoardingDialogDisplayed();
}
}
```
``` markdown file
## Feature: Sign up
In order to work on web application
As a new client
I want to create an account by myself to serve my purposes
## Acceptance Criteria
As a new customer, I want to create an account by myself to login to the system
### AC1: Create new banking account
Submitting essential and valid information on SignUp page, user could log-in to the
system properly and encounters the On-boarding dialog.
#### [Example](- "create account and sees On-boarding process")
<div>
<p concordion:execute="signUpWorkFlow(#fullName, #userName, #password, #confirmPassword)">
**Given** [John Loan](- "#fullName") registered essential and valid information on Signup page
|User Name | Password|Confirmed Password|
|----|----|---|
|<span concordion:set="#userName">john.loan</span>|<span concordion:set="#password">12345678x@X</span>|<span concordion:set="#confirmPassword">12345678x@X</span>|
**When** he logs-in to the system
**Then** the On-boarding process is [loaded properly](- "c:assert-true=verifySignUpProcessSuccessfully()")
</p>
</div>
```