Cucumber supports 40+ langauges. You can write the .feature file in any
of the language. But you need to specify the language that you are using by
putting ‘#langauge’ as the first line of the .feature file.
java -cp
"cucumber_jars/*;." cucumber.api.cli.Main --i18n id
Login.feature
When I generate the code
using cucumber, it generates below skelton.
How to get all the
langauges supported by Gherkin?
Copy
all the cucumber relevant jars into a directory called ‘jars’.
For
example, I copied below jars to 'jars' directory.
cucumber-core-2.3.1.jar
gherkin-5.0.0.jar
Go
to the parent directory of 'jars' directory and run below command.
java
-cp "cucumber_jars/*;." cucumber.api.cli.Main --i18n help
C:\Users\krishna\Documents\Study\cucumber>java -cp "cucumber_jars/*;." cucumber.api.cli.Main --i18n help af am ar ast az bg bm bs ca cs cy-GB da de el em en en-Scouse en-au en-lol en-old en-pirate eo es et fa fi fr ga gj gl he hi hr ht hu id is it ja jv ka kn ko lt lu lv mk-Cyrl mk-Latn mn nl no pa pl pt ro ru sk sl sr-Cyrl sr-Latn sv ta th tl tlh tr tt uk ur uz vi zh-CN zh-TW
How to get the
language codes associated with specific language?
Below
command return all the keywords associated with language code id.
C:\Users\krishna\Documents\Study\cucumber>java -cp "cucumber_jars/*;." cucumber.api.cli.Main --i18n id
| feature | "Fitur" |
| background | "Dasar" |
| scenario | "Skenario" |
| scenario outline | "Skenario konsep" |
| examples | "Contoh" |
| given | "* ", "Dengan " |
| when | "* ", "Ketika " |
| then | "* ", "Maka " |
| and | "* ", "Dan " |
| but | "* ", "Tapi " |
| given (code) | "Dengan" |
| when (code) | "Ketika" |
| then (code) | "Maka" |
| and (code) | "Dan" |
| but (code) | "Tapi" |
For
example, below feature file is written in Indonesian language. You can observe
I added #language statement at first line.
#language: id
# This feature checks the login flow of the user.
Fitur: Login
Login should be quick and friendly. When user logged in with correct credentials, then he would be greeted with welcome message.
If user session is expired, he should be reverted back to login page.
# Check the happy Scenario
Skenario: Successful Login
User should be logged in successfully by providing correct username and password.
Dengan I am registered user to the application
Ketika I log in with user name "krishna" and password "password123"
Maka I should be logged in successfully
Dan I should see a personalized greeting message
# Checks session expiration scenarion
Skenario: Session Expired
User should be redirected to login page on session expiration
Dengan I am the logged in user to the application
Tapi My session is expired
Ketika I try to interact with the application
Maka I should be notified about session expiration
Dan I should be redirected to the login page
@Dengan("^I am registered user to the application$") public void iAmRegisteredUserToTheApplication() throws Exception { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @Ketika("^I log in with user name \"([^\"]*)\" and password \"([^\"]*)\"$") public void iLogInWithUserNameAndPassword(String arg1, String arg2) throws Exception { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @Maka("^I should be logged in successfully$") public void iShouldBeLoggedInSuccessfully() throws Exception { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @Maka("^I should see a personalized greeting message$") public void iShouldSeeAPersonalizedGreetingMessage() throws Exception { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @Dengan("^I am the logged in user to the application$") public void iAmTheLoggedInUserToTheApplication() throws Exception { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @Dengan("^My session is expired$") public void mySessionIsExpired() throws Exception { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @Ketika("^I try to interact with the application$") public void iTryToInteractWithTheApplication() throws Exception { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @Maka("^I should be notified about session expiration$") public void iShouldBeNotifiedAboutSessionExpiration() throws Exception { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @Maka("^I should be redirected to the login page$") public void iShouldBeRedirectedToTheLoginPage() throws Exception { // Write code here that turns the phrase above into concrete actions throw new PendingException(); }
No comments:
Post a Comment