Im using Rspec for Testing, but CAN'T find how to change the grey color in to Red and Green.
Im testing so much that -especially when an error occurs- im having a hard time reading the passed and failures.
Any help would be nice :)
I got it running by doing the following two things:
In your run/debug configurations, enter -c in the Runner options field
In your spec_helper.rb, add the following code:
RSpec.configure do |config|
config.tty = true
end
Additional info: http://rubyforge.org/pipermail/rspec-users/2011-January/019327.html
Inside spec_helper.rb:
RSpec.configure do |config|
config.color = true
end
Related
So I'm learning a little bit about Taurus and was trying to apply some pass fail criteria to my .jmx script. When I try to evaluate a specific sampler, it seems to not run the pass fail criteria at all, but if I were to do a simple avg-rt > 10s, continue as failed , this works, but the issue is I want to evaluate each sampler specifically.
Here is a screenshot of my .yml file
I was using this link as reference to follow but I can't seem to get it to work with my script.
https://dzone.com/articles/running-your-load-tests-with-pass-fail-criteria-a
Any help and advice would be appreciated :)
Thank you!
For me it seems to run pass/fail criteria
As you like screenshots here is the screenshot of Taurus YAML file:
And here is the screenshot of "test.jmx" which basically uses simple single Dummy Sampler:
Just in case here is the link to the official documentation of the subsystem: Pass/Fail Criteria
So the issue was that spaces matter lol.
rewriting it as avg-rt of first_navigate>1s, continue as failed does the trick :)
I am currently using VS Code for a Node.js project and I have the Path Intellisense
extension installed, however I seem to be getting duplicate file suggestions. Is there any way to limit it to only one suggestion?
Thank you for your time.
You need to disable two settings:
"javascript.suggest.paths": false source
"node-module-intellisense.scanFileModules": false source
Thank you Manan Joshi for your assistance.
Optional:
You can also disable "typescript.suggest.paths": false (if you are using TypeScript)
I'm new to automation, sorry if the title is not appropiate.
I have Ruby, Devkit, gem json, cucumber, capybara, selenium-webdriver, rspec installed following the guide http://www.swtestacademy.com/ruby-cucumber-and-capybara-on-windows/
However I cannot locate an element using a full xpath (checked and verified with xpath plugin and developer tool), my action is:
page.find(:xpath, "my_xpath").send_keys(yyy)
and I got:
Unable to find visible xpath
I also tried:
page.findElement(By.xpath("my_xpath")).send_keys("ori_pw")
and I got:
uninitialized constant By (NameError)
And I would like to try using watir, I have installed gem watir, watir-webdriver.
and added require 'watir' into my env.rb
then I try:
page.input(:name => "xxx").set(yyy)
But I get: undefined method `input' for # (NoMethodError)
May I have some suggestions please?
Thanks.
=============================================Edit#1
My env.rb now looks like this:
require 'rubygems'
require 'capybara'
require 'capybara/dsl'
require 'rspec'
require "selenium-webdriver"
require 'watir'
require 'cucumber'
Selenium::WebDriver::Firefox::Binary.path='C:\Program Files\Mozilla Firefox\firefox.exe'
Capybara.run_server = false
#Set default driver as Selenium
Capybara.default_driver = :selenium
#Set default selector as css
Capybara.default_selector = :cs
#Syncronization related settings
module Helpers
def without_resynchronize
page.driver.options[:resynchronize] = false
yield
page.driver.options[:resynchronize] = true
end
end
World(Capybara::DSL, Helpers)
How can I disable capybara and set watir properly?
Sorry that I have no technical background...
Thomas, Yes the element is visible,
HTML screenshot
Actually I will be setting value to these 3 password fields.
The xpath I'm trying is:
/html/body[#class='modal-open']/app-root/div[#id='wrapper']/app-navigation/user-change-password/div[#id='myModal']/div[#class='modal-dialog modal-lg']/div[#class='modal-content']/div[#class='modal-body']/form[#class='ng-pristine ng-invalid ng-touched']/fieldset[#class='form-horizontal']/div[#class='form-group'][1]/div[#class='col-sm-7']/input[1]
(at the end I use avoid using class as I see the class name different sometimes)
Thanks.
=============================================Edit#2
The problem now shift to chromedriver.
Double clicking it able to show
Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 9515
Only local connections are allowed.
But enter chromedriver on cmd will show Chromedriver.exe has stopped working.
The reason it's not working for you is due to an unfortunate bug in geckodriver/firefox - which is probably also going to affect watir - whereby it assumes any element with a hidden attribute is actually non-visible (if the display style is set to anything other than default it actually overrides the hidden attribute but not as far as selenium is concerned). This is affecting you because of the hidden attribute on the element div#myModal which makes selenium think the entire modal is non-visible - https://github.com/mozilla/geckodriver/issues/864. If you swap to testing with Chrome instead the issue will go away.
Additionally using XPaths as specific as you show is a terrible idea and will lead to highly fragile tests. If you swap to Chrome (Capybara.default_driver = :selenium_chrome) you'd be much better off just doing something like
page.fill_in('Original Password', with: 'blah')
or
page.find('input[name="originalPassword"]`).set('blah')
One final point, the :resynchronize option went away a long time ago, you might want to find a more up to date guide to follow
Hello StackOverflow members,
I've been searching the site (and the rest of the web) for an answer to this question, but all my search queries returned the awesome features of Watir... I seem to be one of the few people running into this particular problem. I hope someone out there has an easy answer for me :)
I'm working on website test automation. The current test set is written with Cucumber/Ruby/Selenium-Webdriver/Capybara. I'm personally interested in switching to Watir-Webdriver in combination with Cucumber and Ruby, but I'm struggling with the following:
Every time I run my cucumber test, Watir opens not one, but TWO browser screens. It seems to want to initiate a blank screen (which just goes to the site I configurated as default), plus another browser screen in which the actual test steps are executed.
Keep in mind, I'm rather new to this and I'm having this trouble when simply following a beginners tutorial. Nothing fancy as of yet.
In my 'Support/env.rb' file, I have the following:
require "cucumber"
require 'watir-webdriver'
app_host = ENV['apphost']
Before do
#browser = Watir::Browser.start app_host, :firefox
end
Before do |scenario|
#scenario_tag = scenario.source_tag_names
#browser.cookies.clear
end
at_exit do
#browser.close
end
The first bit in my steps file (GoogleSearch.rb -- yes it's that basic):
require_relative "../support/env"
Given(/^that I have gone to the Google page$/) do
#browser.goto 'http://www.google.com'
end
Now, when I run this test, I expect just ONE browser to be initiated. But instead, the automation initiates TWO browser screens. One just stays in the background doing nothing, the other contains the test steps.
Again, I've searched for a while now (which I'm usually pretty good at), but I haven't found the answer to my problem anywhere. The only way I got it to work, is to start with a step in my steps file, initiating a browser (instead of doing this in the env.rb file). But I don't want to start each test with opening a browser..
Any help would be very much appreciated. If any more information from me is required, I'll update as soon as I can.
Thanks in advance!
The problem is that env.rb is being loaded twice:
It is automatically included when running the cucumber command
It is being included a second time in GoogleSearch.rb when calling the line require_relative "../support/env".
As a result, each of the hooks is registered twice. In other words, Cucumber is seeing the hooks to run before each scenario as:
Before do
#browser = Watir::Browser.start app_host, :firefox
end
Before do |scenario|
#scenario_tag = scenario.source_tag_names
#browser.cookies.clear
end
Before do
#browser = Watir::Browser.start app_host, :firefox
end
Before do |scenario|
#scenario_tag = scenario.source_tag_names
#browser.cookies.clear
end
As you can see, Watir::Browser.start is called twice resulting in the two browsers. The first one is not used since the second call uses the same variable.
To solve the problem, simply remove the require_relative "../support/env" line.
Note that this will only address the issue with opening two browsers for each scenario. You will notice that you will still get a new browser for each scenario and that only the last browser gets closed. If you only want one browser for all scenarios, you should look at the global hooks.
I'm trying to configure FactoryGirl to work with my Cucumber tests.
I added the following lines in env.rb
require 'factory_girl'
Dir.glob(File.join(File.dirname(__FILE__), '../../spec/factories/*.rb')).each {|f| require f }
When I run 'cucumber features', there's no problem.
I now add a file called teacher.rb to spec/factories and add the following in:
FactoryGirl.define do
factory :teacher do
first_name "John"
last_name "Smith"
end
end
Now when I run cucumber features I get:
uninitialized constant FactoryGirl (NameError)
I'm obviously missing something, but what is it? How do I get Cucumber to work with Factory Girl?
Thanks!
Make sure you have these steps covered. They worked for me flawlessly.
http://collectiveidea.com/blog/archives/2010/09/09/practical-cucumber-factory-girl-steps/
Mainly you have to require "factory_girl/step_definitions"
I'm just going to repeat what Dan Croak said, as it can be incredibly frustrating. (Even the factory_girl_rails plugin points to the wrong file.) You need to follow the syntax here, instead:
https://github.com/thoughtbot/factory_girl/tree/1.3.x
Thanks Dan!!
I had the same problem with cucumber in rails4. Running rake cucumber features instead of just cucumber features solved the problem.