Skip to content

Instantly share code, notes, and snippets.

require 'rubygems'
require 'test/unit'
require 'bewildr'
class BewildrTest < Test::Unit::TestCase
def setup
#start the app and wait for the main window
@app, @main_window = Bewildr::Application.start_app_and_wait_for_window("./features/support/BewildrTestApp.exe", /Bewildr/)
end
require 'rubygems'
require 'spec'
require 'bewildr'
describe "my example app" do
it "should allow valid users to log in" do
#start the app and wait for the main window
@app, @main_window = Bewildr::Application.start_app_and_wait_for_window("c:\\my_app.exe", /My App v1.\d+/)
username_field = @main_window.get(:id => "username")
@natritmeyer
natritmeyer / unused.rb
Created April 5, 2011 20:00
Cucumber formatter for printing unused steps
# Copyright (c) 2010, Nathaniel Ritmeyer. All rights reserved.
#
# http://www.natontesting.com
#
# Save this in a file called 'unused.rb' in your 'features/support' directory. Then, to list
# all the unused steps in your project, run the following command:
#
# cucumber -d -f Cucumber::Formatter::Unused
#
# or...
@natritmeyer
natritmeyer / progress_with_names.rb
Created April 20, 2011 17:19
An rspec formatter that prints each test name and result to the console on a new line - hudson likes it
require "rspec/core/formatters/base_text_formatter"
class ProgressWithNames < RSpec::Core::Formatters::BaseTextFormatter
def example_passed(example)
super(example)
output.print green(". #{example.full_description}\n")
end
def example_pending(example)
super(example)
@natritmeyer
natritmeyer / Program.cs
Created May 11, 2011 18:10
A tiny c# app that operates the Open File dialog using White. Useful if you're testing a WPF app with bewildr (http://www.bewildr.info) but the app you're testing uses the old Win32 dialog boxes. The compiled exe takes one arg; the value you want typed in
/*
Create a console app, add references to the various white libraries and use the following as a template for operating the Open Dialog window
Get the white binaries from here: http://white.codeplex.com/
*/
using System.Collections.Generic;
using System.Linq;
using System.Windows.Automation;
using White.Core;
using White.Core.UIItems;
@natritmeyer
natritmeyer / monkeypatch.rb
Created June 5, 2011 17:17
RSpec monkeypatch to expose scenario outcome in after block with Example#passed? and Example#failed? methods
class RSpec::Core::Example
def passed?
@exception.nil?
end
def failed?
!passed?
end
end
@natritmeyer
natritmeyer / Rakefile_01.rb
Created August 24, 2011 19:06
BDD example with WPF, cucumber, ironruby and bewildr; Part 1
require 'rubygems'
require 'rspec/core/rake_task'
require 'cucumber/rake/task'
include Rake::DSL
desc "Acceptance Tests"
RSpec::Core::RakeTask.new do |t|
t.pattern = "spec/**/*_spec.rb"
end
@natritmeyer
natritmeyer / Counter_01.cs
Created August 27, 2011 11:22
BDD example with WPF, cucumber, ironruby and bewildr; Part 2
namespace Counter
{
public class Counter
{
private int currentCount;
public Counter()
{
currentCount = 0;
}
@natritmeyer
natritmeyer / Counter_02.cs
Created August 27, 2011 12:37
BDD example with WPF, cucumber, ironruby and bewildr; Part 3
namespace Counter
{
public class Counter
{
private int currentCount;
public Counter()
{
currentCount = 0;
}
@natritmeyer
natritmeyer / Counter_03.cs
Created August 27, 2011 13:38
BDD example with WPF, cucumber, ironruby and bewildr; Part 4
public void reset()
{
currentCount = 0;
}