When I'm ty to run a simple calabash test I always run into an HTTPClient::KeepAliveDisconnected Exception.
Console output:
Feature: Login
As a User i want to have access to my account
Scenario: right credentials # features\login.feature:4
1698 KB/s (567017 bytes in 0.326s)
1596 KB/s (1481497 bytes in 0.906s)
Given I am at the login page # features/step_definitions/login.rb:1
When I enter my username # features/step_definitions/login.rb:5
And I enter my password # features/step_definitions/login.rb:10
And I hit the Sign In button # features/step_definitions/login.rb:15
**HTTPClient::KeepAliveDisconnected: Eine vorhandene Verbindung wurde vom Remotehost geschlossen. (HTTPClient::KeepAliveDisconnected)**
./features/step_definitions/login.rb:16:in `/^I hit the Sign In button$/'
features\login.feature:8:in `And I hit the Sign In button'
Then I will see the Dashboard page # features/step_definitions/login.rb:19
Scenario: wrong credentials # features\login.feature:11
Given I am at the login page # features/step_definitions/login.rb:1
When I enter a wrong username # features/step_definitions/login.rb:24
And I enter a wrong password # features/step_definitions/login.rb:29
And I hit the Sign In button # features/step_definitions/login.rb:15
Then I will stay at the login page # features/step_definitions/login.rb:34
Step definitions:
Given(/^I am at the login page$/) do
query("* id:'email_sign_in_button'")
end
When(/^I enter my username$/) do
touch("* id:'email'")
query("* id:'email'",{:setText => "[email protected]"})
end
When(/^I enter my password$/) do
touch("* id:'password'")
query("* id:'password'",{:setText => "admin"})
end
When(/^I hit the Sign In button$/) do
touch("* id:'email_sign_in_button'")
end
Then(/^I will see the Dashboard page$/) do
query("* text:'Dashboard'")
sleep(3)
end
When(/^I enter a wrong username$/) do
touch("* id:'email'")
query("* id:'email'",{:setText => "ich bin cool"})
end
When(/^I enter a wrong password$/) do
touch("* id:'password'")
query("* id:'password'",{:setText => "hululu"})
end
Then(/^I will stay at the login page$/) do
query("* id:'email_sign_in_button'")
sleep(3)
end
I'm running Ruby V2.0.0
Why does the step "I hit the Sign In button" fail in the first scenarion but pass in the second scenario?
It probably means you app has crashed. see the adb logcat for a stacktrace.
Using query("* id:'email'",{:setText => "[email protected]"})
is not recommended. Use the method enter_text("* id:'email'", "[email protected]")