<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>.. Library of WONDERS ..</title>
	<atom:link href="http://girliemangalo.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://girliemangalo.wordpress.com</link>
	<description>Chronicles of my learning on Software Quality Assurance, Technology and Books I read...</description>
	<lastBuildDate>Fri, 10 May 2013 11:33:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='girliemangalo.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9e3fabd581906ca89f3919aa06a84e4b?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>.. Library of WONDERS ..</title>
		<link>http://girliemangalo.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://girliemangalo.wordpress.com/osd.xml" title=".. Library of WONDERS .." />
	<atom:link rel='hub' href='http://girliemangalo.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Cucumber: Read from File</title>
		<link>http://girliemangalo.wordpress.com/2012/11/01/cucumber_read_from_fil/</link>
		<comments>http://girliemangalo.wordpress.com/2012/11/01/cucumber_read_from_fil/#comments</comments>
		<pubDate>Thu, 01 Nov 2012 12:36:01 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[cucumber]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[capybara]]></category>
		<category><![CDATA[erb]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=1232</guid>
		<description><![CDATA[As your automated testing mature, you don&#8217;t want to limit users hard coding their application under test or browser driver all in the ENVironment file(env.rb). You can customized your environment by creating a configuration file where you can define variables like applications URL, timeout, database configurations and the like. From the basic folder structure discussed [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1232&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>As your automated testing mature, you don&#8217;t want to limit users hard coding their application under test or browser driver all in the ENVironment file(env.rb). You can customized your environment by creating a configuration file where you can define variables like applications URL, timeout, database configurations and the like.</p>
<p>From the basic folder structure discussed in <a href="http://girliemangalo.wordpress.com/2012/10/29/automated-testing-with-cucumber-capybara/">Automated Testing with Cucumber + Capybara</a> post, add two more files:</p>
<div>config &gt; environments.yml</div>
<div>
<div>support &gt; custom_config.rb</div>
<div>where:</div>
<p><strong>environments.yml</strong> &#8211; contains all the environment variables that you can use</p>
<pre class="brush: ruby; title: ; notranslate">

google:
 app_host: http://www.google.com

bing:
 app_host: http://www.bing.com

</pre>
<p><strong>custom_config.rb - </strong>ruby code where you configure your code to read from a specific file</p>
<pre class="brush: ruby; title: ; notranslate">

require &quot;erb&quot;

module CustomConfig
 unless defined? @@env_config
 puts &quot;loading environments.yml...&quot;
 env = (ENV['ENVIRONMENT'] &amp;&amp; ENV['ENVIRONMENT'].to_sym) || :google
 environments = YAML.load(ERB.new(File.read(File.expand_path('../../../config/environments.yml', __FILE__))).result)
 @@env_config = environments[env.to_s]
 raise &quot;No config found for environment: #{env}&quot; unless @@env_config
 end

def env_config
 @@env_config
 end

end

World(CustomConfig)

</pre>
<p>Your base folder should look like these by now:</p>
<div id="attachment_1253" class="wp-caption alignnone" style="width: 337px"><a href="http://girliemangalo.files.wordpress.com/2012/10/base_folder2.png"><img class="size-full wp-image-1253 " title="base_folder2" alt="" src="http://girliemangalo.files.wordpress.com/2012/10/base_folder2.png?w=595"   /></a><p class="wp-caption-text">Revised Base Folder</p></div>
<p>Then edit your <strong>env.rb</strong> by adding the following lines to your environment file.</p>
<p>require File.expand_path(&#8216;../custom_config&#8217;, __FILE__)<br />
include CustomConfig</p>
<p>Also update <strong>Capybara.app_host</strong> definition to look up to @@env_config. Your env.rb file should be edited to something like this:</p>
<p><strong>env.rb</strong></p>
<pre class="brush: ruby; title: ; notranslate">

require 'capybara'
require 'capybara/cucumber'
require File.expand_path('../custom_config', __FILE__)
include CustomConfig

Capybara.default_driver = :selenium
Capybara.app_host = env_config['app_host']
Capybara.default_wait_time = 20

World(Capybara)

</pre>
<p>Notice in line #07 of your <strong>env.rb</strong> you are basically pointing app host to whatever environment you set in your <strong>custom_config.rb</strong> &#8211; <strong>env</strong> variable, (see line #06) for this example <strong>:google</strong></p>
<p>From here on you should still be able to run your simple_search.feature file without error, the only difference is your code reads now from a specific file &#8211; <strong>environments.yml</strong>, through <strong>custom_config.rb.</strong></p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/1232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/1232/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1232&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/11/01/cucumber_read_from_fil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>

		<media:content url="http://girliemangalo.files.wordpress.com/2012/10/base_folder2.png" medium="image">
			<media:title type="html">base_folder2</media:title>
		</media:content>
	</item>
		<item>
		<title>Improve Writing your Cukes</title>
		<link>http://girliemangalo.wordpress.com/2012/11/01/improve-writing-your-cukes/</link>
		<comments>http://girliemangalo.wordpress.com/2012/11/01/improve-writing-your-cukes/#comments</comments>
		<pubDate>Thu, 01 Nov 2012 12:27:12 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[cucumber]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[capybara]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=1189</guid>
		<description><![CDATA[Based from the simple_search.feature that we have in Automated Testing with Cucumber + Capybara, we don&#8217;t want to limit users by writing element locators like id, css or xpaths, hardcoding search strings and validations in our Cucumber scenarios: Simple search scenario We can improve this 5-liner scenario by creating new step definition that accepts variable [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1189&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Based from the simple_search.feature that we have in <a href="http://girliemangalo.wordpress.com/2012/10/29/automated-testing-with-cucumber-capybara/">Automated Testing with Cucumber + Capybara</a>, we don&#8217;t want to limit users by writing element locators like id, css or xpaths, hardcoding search strings and validations in our Cucumber scenarios:</p>
<p><strong>Simple search scenario</strong></p>
<pre class="brush: ruby; title: ; notranslate">

Scenario: A simple google search scenario
Given I am on the main google search
When I fill in &quot;q&quot; with &quot;Cucumber test&quot;
And I click &quot;gbqfb&quot; button
And I click on the first result
Then I should see &quot;Cucumber lets software development teams describe how software should behave in plain text.&quot;

</pre>
<p>We can improve this 5-liner scenario by creating new step definition that accepts variable and reusing the previous step definitions in the new step.</p>
<p><strong>Better search scenario</strong></p>
<pre class="brush: ruby; title: ; notranslate">

Scenario: The better way to do google search
Given I am on the main google search
When I search for &quot;Cucumber test&quot;
Then I verify first search result have &quot;Cucumber lets software development teams describe how software should behave in plain text.&quot;

</pre>
<p>In order to make this new scenario running, we need to define the new step definitions:</p>
<pre class="brush: ruby; title: ; notranslate">

Given /^I search for &quot;([^\&quot;]*)&quot;$/ do |query|
 step %{I fill in &quot;q&quot; with &quot;#{query}&quot;}
 step %{I click &quot;gbqfb&quot; button}
end

Then /^I verify first search result have &quot;([^\&quot;]*)&quot;$/ do |text|
 step %{I click on the first result}
 step %{I should see &quot;#{text}&quot;}
end

</pre>
<p>But wait, there&#8217;s even a better approach to present this scenario where we will use one of the Gherkin keyword &#8220;Scenario Outline.&#8221; Outline allows us to parameterized our test data by passing it to Examples.</p>
<p><strong>Best search scenario</strong></p>
<pre class="brush: ruby; title: ; notranslate">
Scenario Outline: The best way to do google search
 Given I am on the main google search
 When I search for &quot;&lt;String&gt;&quot;
 Then I verify first search result have &quot;&lt;Search criteria&gt;&quot;

Examples:
 | String         | Search criteria   |
 | Cucumber tests | Cucumber          |
 | Selenium       | What is Selenium? |

</pre>
<p>Hope you had a great time, just like me. <strong>Happy Cuking!</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/1189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/1189/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1189&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/11/01/improve-writing-your-cukes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>
	</item>
		<item>
		<title>Automated Testing with Cucumber + Capybara</title>
		<link>http://girliemangalo.wordpress.com/2012/10/29/automated-testing-with-cucumber-capybara/</link>
		<comments>http://girliemangalo.wordpress.com/2012/10/29/automated-testing-with-cucumber-capybara/#comments</comments>
		<pubDate>Mon, 29 Oct 2012 09:15:53 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[cucumber]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[capybara]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=1164</guid>
		<description><![CDATA[In this post we will introduce another gem called Capybara. Capybara is an acceptance testing framework with a higher level API and support for multiple backends, supports Selenium and runs in different browsers. Others may ask, &#8220;Why would I use capybara if selenium could also drive the browser the way I want it?&#8221;  Well, one [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1164&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In this post we will introduce another gem called Capybara.</p>
<p>Capybara is an acceptance testing framework with a higher level API and support for multiple backends, supports Selenium and runs in different browsers.</p>
<p>Others may ask, <em>&#8220;Why would I use capybara if selenium could also drive the browser the way I want it?&#8221;</em>  Well, one advantage I appreciate is Capybara&#8217;s higher-level API compared to selenium.</p>
<p>Let&#8217;s take for example a simple scenario of typing strings to an input textbox:</p>
<p>Selenium-webdriver snippet</p>
<pre class="brush: ruby; title: ; notranslate">

require 'selenium-webdriver'

element = driver.find_element :name =&gt; &quot;q&quot;
element.send_keys &quot;Cucumber tests&quot;

</pre>
<p>Capybara snippet</p>
<pre class="brush: ruby; title: ; notranslate">
require 'capybara'

fill_in &quot;q&quot;, &quot;Cucumber tests&quot;

</pre>
<p>You can obviously see from this example that Capybara enforces easier writing scripts ability. For a complete documentation on Capybara you can check this <a href="http://rubydoc.info/github/jnicklas/capybara/">link</a> from Github which I found very helpful.</p>
<p>After installation setup discussed in my previous post <a href="http://girliemangalo.wordpress.com/2012/10/29/introduction-to-cucumber/"><strong>Introduction to Cucumber</strong></a>, you need to have the following folder structure and files:</p>
<p><strong>I. Base Folder</strong></p>
<div id="attachment_1234" class="wp-caption alignnone" style="width: 264px"><a href="http://girliemangalo.files.wordpress.com/2012/10/base_folder1.png"><img class=" wp-image-1234    " title="base_folder" alt="" src="http://girliemangalo.files.wordpress.com/2012/10/base_folder1.png?w=254&#038;h=201" height="201" width="254" /></a><p class="wp-caption-text">Base Folder Structure</p></div>
<p>where:</p>
<p>features &#8211; folder to host all your feature files</p>
<p>step_definitions &#8211; folder to host all your step definition Ruby files</p>
<p>support &#8211; folder to host your configuration files (env.rb)</p>
<p>Gemfile &#8211; defines the top-level gems to be used in your project</p>
<p><strong>II. Features</strong></p>
<p>- describes the features that a user will be able to use in the program</p>
<p>Sample: simple_search.feature</p>
<pre class="brush: ruby; title: ; notranslate">

Feature: As a user I should be able to perform simple google search

Scenario: A simple google search scenario
 Given I am on the main google search
 When I fill in &quot;q&quot; with &quot;Cucumber test&quot;
 And I click &quot;gbqfb&quot; button
 And I click on the first result
 Then I should see &quot;Cucumber lets software development teams describe how software should behave in plain text.&quot;

</pre>
<p><strong>III. Step Definition</strong></p>
<p>- describes the actions that user will do for each step.</p>
<p>Sample: search_step.rb</p>
<pre class="brush: ruby; title: ; notranslate">
Given /^I am on the main google search$/ do
 visit ('/')
end

When /^(?:|I )fill in &quot;([^&quot;]*)&quot; with &quot;([^&quot;]*)&quot;$/ do |field, value|
 fill_in(field, :with =&gt; value)
end

Then /^I click &quot;([^&quot;]*)&quot; button$/ do |button|
 click_button(button)
end

Then /^I click on the first result$/ do
 find(:xpath, &quot;//html/body/div[3]/div[2]/div/div[5]/div[2]/div[2]/div/div[2]/div/ol/li/div/h3/a&quot;).click
end

Then /^I should see &quot;([^&quot;]*)&quot;$/ do |text|
 page.should have_content(text)
end
</pre>
<p><strong>IV. Support</strong></p>
<p>- hosts all configuration files</p>
<p>Sample: env.rb</p>
<pre class="brush: ruby; title: ; notranslate">
require 'capybara'
require 'capybara/cucumber'

Capybara.default_driver = :selenium
Capybara.app_host = &quot;http://www.google.com&quot;
Capybara.default_wait_time = 20

World(Capybara)

</pre>
<p><strong>V. Gemfile</strong></p>
<p>- a format for describing gem dependencies required to execute Ruby codes</p>
<p>Sample: Gemfile</p>
<pre class="brush: ruby; title: ; notranslate">

source &quot;http://rubygems.org&quot;

group(:test) do
 gem 'cucumber'
 gem 'capybara'
 gem 'rspec'
end

</pre>
<p><strong>VI. Run</strong></p>
<p>Using terminal go to your root project folder and type: cucumber or bundle exec cucumber</p>
<p>After the run, you should be able to see the results like this:</p>
<p>1 scenario (<span style="color:#339966;">1 passed</span>)<br />
5 steps (<span style="color:#339966;">5 passed</span>)<br />
0m9.461s</p>
<p>This example runs smoothly in Windows 7. Let me know if it works for you as well.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/1164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/1164/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1164&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/10/29/automated-testing-with-cucumber-capybara/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>

		<media:content url="http://girliemangalo.files.wordpress.com/2012/10/base_folder1.png" medium="image">
			<media:title type="html">base_folder</media:title>
		</media:content>
	</item>
		<item>
		<title>Introduction to Cucumber</title>
		<link>http://girliemangalo.wordpress.com/2012/10/29/introduction-to-cucumber/</link>
		<comments>http://girliemangalo.wordpress.com/2012/10/29/introduction-to-cucumber/#comments</comments>
		<pubDate>Mon, 29 Oct 2012 09:13:18 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[cucumber]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[selenium]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=1155</guid>
		<description><![CDATA[More than a testing tool, Cucumber is a collaboration tool. It is designed to accommodate both the technical(developers, automation testers) and non-technical(stakeholders, product owners) members of the software development team. Cucumber supports behavior-driven development(BDD). In BDD, users(business analysts, product owners) first write scenarios or acceptance tests that describes the behavior of the system from the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1155&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>More than a testing tool, <strong>Cucumber</strong> is a collaboration tool.</p>
<p>It is designed to accommodate both the technical(developers, automation testers) and non-technical(stakeholders, product owners) members of the software development team.</p>
<p>Cucumber supports behavior-driven development(BDD). In BDD, users(business analysts, product owners) first write scenarios or acceptance tests that describes the behavior of the system from the customer&#8217;s perspective, for review and sign-off by the product owners before developers write their codes.</p>
<p>When you run your test, Cucumber reads through user-readable files called <strong>features</strong>, parse it to <strong>scenarios</strong> which contains set of steps that are then matched to a <strong>step definitions</strong> of Ruby code using a regular expression.</p>
<p>Feature files could be deceiving. It may look simple and plain in the outside. But complex in the inside, within step definition or the ruby files which controls the flow of actions and where all the magic happens.</p>
<p>In order for Cucumber to understand the feature files, it uses a basic syntax called <strong>Gherkin</strong>. Gherkin makes use of the following keywords for documentation and readability &#8211; Feature, Background, Scenario, Given, When, Then, And, But, *, Scenario Outline and Examples.</p>
<p>To dive more information about <strong><a href="https://github.com/cucumber/cucumber/wiki" target="_blank">Cucumber</a></strong>, I would recommend you read <strong><a href="http://pragprog.com/book/hwcuc/the-cucumber-book">The Cucumber Book</a> </strong> which have valuable information you would need in learning this new technology.</p>
<p>In preparation to  your Cucumber testing experience, will be needing to setup the following in your local machine.</p>
<p>1. Java installation &#8211; JRE will do, mine is Java(TM) SE Runtime Environment 1.6</p>
<p>2. Ruby installation &#8211; visit their <a href="http://www.ruby-lang.org/en/downloads/">Downloads</a> page. I have Jruby 1.6.7.2 installed in my box.</p>
<p>Don&#8217;t forget to define Java and Ruby Path in your system&#8217;s environment variables as well.</p>
<p>3. RubyGems installation &#8211; use &#8220;gem install &lt;name of gem&gt;&#8221; command. Here are some of the basic, helpful gems:</p>
<p>- Cucumber</p>
<p>- Capybara</p>
<p>- Rspec</p>
<p>If you&#8217;re all setup, feel free to jump to the next post &#8211; <a href="http://girliemangalo.wordpress.com/2012/10/29/automated-testing-with-cucumber-capybara/"><strong>Automated Testing with Cucumber + Capybara</strong></a></p>
<p>Reference: The Cucumber Book by Matt Wynne and Aslak Hellesoy</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/1155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/1155/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1155&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/10/29/introduction-to-cucumber/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>
	</item>
		<item>
		<title>Useful RubyMine Keyboard Shortcuts</title>
		<link>http://girliemangalo.wordpress.com/2012/09/14/useful-rubymine-keyboard-shortcuts/</link>
		<comments>http://girliemangalo.wordpress.com/2012/09/14/useful-rubymine-keyboard-shortcuts/#comments</comments>
		<pubDate>Fri, 14 Sep 2012 07:51:01 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[rubymine]]></category>
		<category><![CDATA[shortcuts]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=1130</guid>
		<description><![CDATA[Meet my new colleague, Jetbrains RubyMine &#8220;The Most Intelligent Ruby on Rail IDE&#8221; sounds big huh! Since he will be my new companion / buddy for the next months to come, I decided to know him better and build a good rapport. Here are some of the keyboard shortcuts I find to be friendly and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1130&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Meet my new colleague, Jetbrains RubyMine &#8220;The Most Intelligent Ruby on Rail IDE&#8221; sounds big huh! Since he will be my new companion / buddy for the next months to come, I decided to know him better and build a good rapport. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Here are some of the keyboard shortcuts I find to be friendly and useful:</p>
<table border="0">
<tbody>
<tr>
<td><strong>Shortcut</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>Ctrl+Alt+S</td>
<td>Go to Settings</td>
</tr>
<tr>
<td>Ctrl+N</td>
<td>Open a class</td>
</tr>
<tr>
<td>Ctrl+Shift+N</td>
<td>Open a file</td>
</tr>
<tr>
<td>Ctrl+B</td>
<td>Go to declaration</td>
</tr>
<tr>
<td>Ctrl+Space</td>
<td>Code completion</td>
</tr>
<tr>
<td>Ctrl+E</td>
<td>Show recent files</td>
</tr>
<tr>
<td>Ctrl+K</td>
<td>Commit changes</td>
</tr>
<tr>
<td>Ctrl+G</td>
<td>Go to line</td>
</tr>
<tr>
<td>Ctrl+T</td>
<td>Update project</td>
</tr>
<tr>
<td>Alt+Left/Right</td>
<td>Navigate through the editor tabs</td>
</tr>
<tr>
<td>Ctrl+Slash</td>
<td>Make a block comment</td>
</tr>
<tr>
<td>Ctrl+F</td>
<td>Find from current file</td>
</tr>
<tr>
<td>Ctrl+Shift+F</td>
<td>Find from current folder</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/1130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/1130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1130&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/09/14/useful-rubymine-keyboard-shortcuts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>
	</item>
		<item>
		<title>Error installing Nokogiri in Ubuntu 10.10</title>
		<link>http://girliemangalo.wordpress.com/2012/06/26/error-installing-nokogiri-in-ubuntu-10-10/</link>
		<comments>http://girliemangalo.wordpress.com/2012/06/26/error-installing-nokogiri-in-ubuntu-10-10/#comments</comments>
		<pubDate>Tue, 26 Jun 2012 07:10:34 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[nokogiri]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=887</guid>
		<description><![CDATA[Following Nokogiri Installation for Ubuntu I run below #nokogiri requirement in my terminal: sudo apt-get install libxslt-dev libxml2-dev sudo gem install nokogiri Running &#8220;sudo gem install nokogiri&#8221; displays the following error: Building native extensions.  This could take a while... ERROR:  Error installing nokogiri: ERROR: Failed to build gem native extension. /usr/bin/ruby1.8 extconf.rb extconf.rb:5:in `require': no [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=887&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Following <a href="http://nokogiri.org/tutorials/installing_nokogiri.html">Nokogiri Installation</a> for Ubuntu I run below #nokogiri requirement in my terminal:</p>
<pre><code>sudo apt-get install libxslt-dev libxml2-dev</code>
<code>sudo gem install nokogiri</code></pre>
<p>Running &#8220;sudo gem install nokogiri&#8221; displays the following error:</p>
<pre>Building native extensions.  This could take a while...
 ERROR:  Error installing nokogiri:
 ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb
 extconf.rb:5:in `require': no such file to load -- mkmf (LoadError)
 from extconf.rb:5
Gem files will remain installed in /var/lib/gems/1.8/gems/nokogiri-1.4.3.1 for inspection.
 Results logged to /var/lib/gems/1.8/gems/nokogiri-1.4.3.1/ext/nokogiri/gem_make.out</pre>
<p>Was able to resolve the issue by installing ruby1.8-dev and reinstalling the nokogiri gem:</p>
<pre><code>sudo apt-get install ruby1.8-dev </code>
<code>sudo gem install nokogiri </code>

exist@exist:~$ sudo gem install nokogiri
 Building native extensions.  This could take a while...
 Successfully installed nokogiri-1.4.4
 1 gem installed
 Installing ri documentation for nokogiri-1.4.4...</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/887/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/887/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=887&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/06/26/error-installing-nokogiri-in-ubuntu-10-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>
	</item>
		<item>
		<title>Resolving &#8220;Couldn&#8217;t open app window; is the pop-up blocker enabled?&#8221; Selenium error in IE 10</title>
		<link>http://girliemangalo.wordpress.com/2012/06/20/resolving-couldnt-open-app-window-is-the-pop-up-blocker-enabled-selenium-error-in-ie-10/</link>
		<comments>http://girliemangalo.wordpress.com/2012/06/20/resolving-couldnt-open-app-window-is-the-pop-up-blocker-enabled-selenium-error-in-ie-10/#comments</comments>
		<pubDate>Wed, 20 Jun 2012 11:59:49 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[selenium]]></category>
		<category><![CDATA[ie10]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[selenium rc]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=1108</guid>
		<description><![CDATA[Need to setup my Linux machine(master) to remotely access a Windows 8 machine(slave) with Internet Exporer 10 browser that will run my Selenium scripts. master &#8211; machine where Selenium scripts, browser configurations are saved; one that will be sending requests to run the scripts slave &#8211; machine where Selenium scripts will be run using a [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1108&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Need to setup my Linux machine(<strong>master</strong>) to remotely access a Windows 8 machine(<strong>slave</strong>) with Internet Exporer 10 browser that will run my Selenium scripts.</p>
<p><strong>master</strong> &#8211; machine where Selenium scripts, browser configurations are saved; one that will be sending requests to run the scripts</p>
<p><strong>slave</strong> &#8211; machine where Selenium scripts will be run using a different platform (OS and browser); one that will accept the request to run the scripts</p>
<p>To do this, I configure the browser file from the master machine:</p>
<pre class="brush: perl; title: ; notranslate">
# for Internet Explorer
our $sel = Test::WWW::Selenium-&gt;new( host =&gt; &quot;Windows Machine IP&quot;, port =&gt; 4445, browser =&gt; &quot;*iexplore&quot;, browser_url =&gt; &quot;application URL&quot; );
</pre>
<p>From the slave machine, I needed to install the following:</p>
<p>- Java SE Runtime  Environment 1.7</p>
<p>- download latest Selenium Server from <a href="http://seleniumhq.org/download/">SeleniumHQ</a></p>
<p>To prepare the slave machine to accept the request, launch selenium server from the terminal using the same port set in the master machine:</p>
<pre>java -jar selenium-server-standalone-2.23.1 -port 4445</pre>
<p>To send request from the master machine, you may use &#8220;spec&#8221;, &#8220;rake&#8221; command depending on how you organized your test files. However after executing the command to run the scripts from the master machine, an error was encountered in the slave machine - <strong>&#8220;Couldn&#8217;t open app window; is the pop-up blocker enabled?&#8221;</strong></p>
<div id="attachment_1113" class="wp-caption aligncenter" style="width: 394px"><a href="http://girliemangalo.files.wordpress.com/2012/06/ie_error1.png"><img class=" wp-image-1113  " title="ie_error" src="http://girliemangalo.files.wordpress.com/2012/06/ie_error1.png?w=384&#038;h=288" alt="" width="384" height="288" /></a><p class="wp-caption-text">IE 10 &#8211; Selenium error</p></div>
<div>
<div></div>
<div>Solution:</div>
<div>From the master machine, update browser configuration from &#8220;*iexplore&#8221; to &#8220;iexploreproxy&#8221;</div>
<div>
<pre class="brush: perl; title: ; notranslate">
# for Internet Explorer
our $sel = Test::WWW::Selenium-&gt;new( host =&gt; &quot;Windows Machine IP&quot;, port =&gt; 4445, browser =&gt; &quot;*iexploreproxy&quot;, browser_url =&gt; &quot;application URL&quot; );
</pre>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/1108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/1108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1108&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/06/20/resolving-couldnt-open-app-window-is-the-pop-up-blocker-enabled-selenium-error-in-ie-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>

		<media:content url="http://girliemangalo.files.wordpress.com/2012/06/ie_error1.png" medium="image">
			<media:title type="html">ie_error</media:title>
		</media:content>
	</item>
		<item>
		<title>What are You Doing?</title>
		<link>http://girliemangalo.wordpress.com/2012/05/29/what-are-you-doing/</link>
		<comments>http://girliemangalo.wordpress.com/2012/05/29/what-are-you-doing/#comments</comments>
		<pubDate>Tue, 29 May 2012 05:43:26 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[quality assurance]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=1092</guid>
		<description><![CDATA[An investor once visited an IT company and was accompanied to the QA/Testing department. He approached the QA Analysts and tried to do some small talk. Visitor: What are you guys doing? Employee #1: Well, I&#8217;m executing these bunch of test scenarios repeatedly. Image taken from http://www.zazzle.com Employee #2: Well, I&#8217;m trying to earn a [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1092&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>An investor once visited an IT company and was accompanied to the QA/Testing department. He approached the QA Analysts and tried to do some small talk.</p>
<p>Visitor: What are you guys doing?</p>
<p>Employee #1: Well, I&#8217;m executing these bunch of test scenarios repeatedly.</p>
<table cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td><a href="http://girliemangalo.files.wordpress.com/2012/05/tester_shirt.jpg"><img src="http://girliemangalo.files.wordpress.com/2012/05/tester_shirt.jpg?w=320&#038;h=320" alt="" width="320" height="320" border="0" /></a></td>
</tr>
<tr>
<td>Image taken from <a href="http://www.zazzle.com" rel="nofollow">http://www.zazzle.com</a></td>
</tr>
</tbody>
</table>
<p>Employee #2: Well, I&#8217;m trying to earn a living.</p>
<table cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td><a href="http://girliemangalo.files.wordpress.com/2012/05/img_3290.jpg"><img src="http://girliemangalo.files.wordpress.com/2012/05/img_3290.jpg?w=320&#038;h=240" alt="" width="320" height="240" border="0" /></a></td>
</tr>
<tr>
<td>New Peso Bills</td>
</tr>
</tbody>
</table>
<p>Employee #3: Well, I make sure users will have a valuable experience with this cool stuff we are developing.</p>
<div id="attachment_1147" class="wp-caption alignleft" style="width: 370px"><a href="http://girliemangalo.files.wordpress.com/2012/05/exist_qa21.jpg"><img class=" wp-image-1147  " src="http://girliemangalo.files.wordpress.com/2012/05/exist_qa21.jpg?w=360&#038;h=240" alt="" width="360" height="240" /></a><p class="wp-caption-text">QA at work (Image taken by Ram Masinas)</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Although the three employees are doing the same task, only one of them sees the bigger picture of their work and truly understands the value of their job. #Perspective</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/1092/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/1092/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1092&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/05/29/what-are-you-doing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>

		<media:content url="http://girliemangalo.files.wordpress.com/2012/05/tester_shirt.jpg?w=300" medium="image" />

		<media:content url="http://girliemangalo.files.wordpress.com/2012/05/img_3290.jpg?w=300" medium="image" />

		<media:content url="http://girliemangalo.files.wordpress.com/2012/05/exist_qa21.jpg" medium="image" />
	</item>
		<item>
		<title>What Drives You?</title>
		<link>http://girliemangalo.wordpress.com/2012/05/11/what-drives-you/</link>
		<comments>http://girliemangalo.wordpress.com/2012/05/11/what-drives-you/#comments</comments>
		<pubDate>Fri, 11 May 2012 10:11:53 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[interest]]></category>
		<category><![CDATA[motivation]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=1084</guid>
		<description><![CDATA[I&#8217;m consolidating great ideas I bump along the way that would somehow motivate us in our work place. I&#8217;ll be needing your help on this one, please feel free to add more on the list. 1. &#8220;Do whatever you want&#8221; Day Inspired from Atlassian&#8217;s &#8221;Fedex&#8221; Day. This is a time(24 hours) given to their developers to work [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1084&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 259px"><a href="http://girliemangalo.files.wordpress.com/2012/05/drive2.jpg"><img src="http://girliemangalo.files.wordpress.com/2012/05/drive2.jpg?w=249&#038;h=186" alt="Image" width="249" height="186" /></a><p class="wp-caption-text">What drives you?</p></div>
<p><span style="font-family:Verdana, sans-serif;">I&#8217;m consolidating great ideas I bump along the way that would somehow motivate us in our work place. I&#8217;ll be needing your help on this one, please feel free to add more on the list.</span></p>
<div><span style="font-family:Verdana, sans-serif;">1. &#8220;Do whatever you want&#8221; Day</span></div>
<p><span style="font-family:Verdana, sans-serif;">Inspired from <a href="http://www.atlassian.com/company" target="_blank">Atlassian&#8217;s</a> &#8221;Fedex&#8221; Day. This is a time(24 hours) given to their developers to work on whatever they want as long as it is related to their products. This activity fosters creativity and fun.</span></p>
<p><span style="font-family:Verdana, sans-serif;">2. Late Mo, Earning Ko</span></p>
<p><span style="font-family:Verdana, sans-serif;">I heard this during one of my RX morning routines. This is company perks where employees tardiness deductions will be collected and distributed as reward to employees who have no tardiness. Cool huh!</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/1084/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/1084/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1084&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/05/11/what-drives-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>

		<media:content url="http://girliemangalo.files.wordpress.com/2012/05/drive2.jpg?w=249" medium="image">
			<media:title type="html">Image</media:title>
		</media:content>
	</item>
		<item>
		<title>Setup OpenVPN Client in Linux</title>
		<link>http://girliemangalo.wordpress.com/2012/04/23/setup-openvpn-client-in-linux/</link>
		<comments>http://girliemangalo.wordpress.com/2012/04/23/setup-openvpn-client-in-linux/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 09:33:38 +0000</pubDate>
		<dc:creator>girlie</dc:creator>
				<category><![CDATA[qa tools]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://girliemangalo.wordpress.com/?p=1044</guid>
		<description><![CDATA[I needed to install OpenVPN(open source virtual private network) in my Linux machine to be able to access our staging server. OpenVPN allows you to establish a secure point to point  access to network resources and services. OpenVPN can be used in two ways &#8211; Server and Client. OpenVPN server is the system that you wish to use as VPN [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1044&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I needed to install <a href="http://openvpn.net/index.php/access-server/overview.html">OpenVPN</a>(open source virtual private network) in my Linux machine to be able to access our staging server. OpenVPN allows you to establish a secure point to point  access to network resources and services.</p>
<p>OpenVPN can be used in two ways &#8211; Server and Client. OpenVPN server is the system that you wish to use as VPN end-point or the one you want to access. In my case what I needed to do is to install OpenVPN as client or the one making a service request.</p>
<p>1. Install OpenVPN using terminal:</p>
<p><code>sudo apt-get install openvpn </code></p>
<p>2. Create client configuration file in /etc/openvpn</p>
<p><code>sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn </code></p>
<p>3. Setup client config file, server keys and certificates in /etc/openvpn folder (in my case our client sent these files generated from the server)</p>
<p>/etc/openvpn/client.conf<br />
/etc/openvpn/keys/ca.crt<br />
/etc/openvpn/keys/hostname.crt<br />
/etc/openvpn/keys/hostname.key<br />
/etc/openvpn/keys/ta.key</p>
<p>4. Edit client configuration file (client.conf) based on above directory<br />
<code><br />
# example client config file<br />
client<br />
remote [server] 1194<br />
dev tun<br />
proto udp</code></p>
<p>ca /etc/openvpn/keys/ca.crt<br />
cert /etc/openvpn/keys/hostname.crt<br />
key /etc/openvpn/keys/hostname.key<br />
ns-cert-type server<br />
tls-auth /etc/openvpn/keys/ta.key 1</p>
<p>comp-lzo<br />
keepalive 10 60<br />
ping-timer-rem<br />
persist-key<br />
persist-tun</p>
<p>verb 3</p>
<p>5. Go to /etc/openvpn folder and start the OpenVPN<br />
<code><br />
exist@exist:/etc/openvpn$ sudo openvpn client.conf<br />
Mon Apr 23 13:44:43 2012 OpenVPN 2.1.0 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Jul 12 2010<br />
Mon Apr 23 13:44:43 2012 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.<br />
...<br />
Mon Apr 23 13:44:50 2012 [server] Peer Connection Initiated with [AF_INET]xxx.xxx.xx.xxx:1194<br />
Mon Apr 23 13:44:52 2012 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)<br />
...<br />
Mon Apr 23 13:44:53 2012 TUN/TAP TX queue length set to 100<br />
Mon Apr 23 13:44:53 2012 /sbin/ifconfig tun0 10.8.1.190 pointopoint 10.8.1.189 mtu 1500<br />
Mon Apr 23 13:44:53 2012 /sbin/route add -net 192.168.3.0 netmask 255.255.255.0 gw 10.8.1.189<br />
Mon Apr 23 13:44:53 2012 /sbin/route add -net 10.3.0.0 netmask 255.255.0.0 gw 10.8.1.189<br />
Mon Apr 23 13:44:53 2012 /sbin/route add -net 10.8.1.1 netmask 255.255.255.255 gw 10.8.1.189<br />
Mon Apr 23 13:44:53 2012 Initialization Sequence Completed</code></p>
<p>There you go! By this time, you should be able to access the application you want to test <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  However in our case we needed to setup the IP address of the server that we are trying to gain access in our hosts file. From the terminal, we type:<br />
<code><br />
[user]@exist:~$ <strong>sudo su -</strong><br />
[sudo] password for [user]: [input password]<br />
root@[user]:~# <strong>vi /etc/hosts</strong><br />
</code></p>
<p>Then input the IP address and the corresponding name of the web server we are trying to access at the end of the line.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/girliemangalo.wordpress.com/1044/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/girliemangalo.wordpress.com/1044/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=girliemangalo.wordpress.com&#038;blog=5800953&#038;post=1044&#038;subd=girliemangalo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://girliemangalo.wordpress.com/2012/04/23/setup-openvpn-client-in-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/98901bb25ba198f1f1f5376a4234f679?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">girlie</media:title>
		</media:content>
	</item>
	</channel>
</rss>
