Profile

Cover photo
Mark Wong
Works at I-Many
Attended University of California, Berkeley
Lives in San Jose, CA
46 followers|3,345 views
AboutPostsPhotosVideos

Stream

Mark Wong

Shared publicly  - 
 
calabash-android

Some steps are useful that are not emphasized in the documentation.  For example, how do you click or press an image that is not a button.

Use the "Then /^I press view with id "([^\"]*)"$/"

There are a lot of questions about how to do this by implementing your own steps. For now this has been implemented.
1
Add a comment...

Mark Wong

Shared publicly  - 
 
calabash-ios console

You can get quite far in testing an IOS app by using the standard steps. There comes a point though when you need to do more.

An example would be though in trying to touch an image view.

You can use the command in the directory where you run 'cucumber':

calabash-ios console

I realize that it is mentioned in the documentation but this point should emphasized, when you are in the console, you can work within your app by doing Ruby commands.

Documentation shows you query information like so:

query("Views")

In other places you may see:

query "Views"

They will both work and they are the same thing. This works because that is how the Ruby language has been designed. You don't have to use all of the characters if Ruby can figure it out.
1
Add a comment...

Mark Wong

Shared publicly  - 
 
There is a free class about Software as a Service. You can sign up at https://www.coursera.org/course/saas. I took this class a few months ago but I didn't finish it due to releases at work.

In order to teach Software as a Service, they teach Ruby and Rails for the first half of a class. This is actually part 1 of 2 parts. There is no cost for the class but there is a $10 charge for the book which is half of their book. The instructors are professors at UC Berkeley. There are a number of other classes as part of www.coursesa.org.

The first 2 and 1/2 assignments covers Ruby and Rails. They provide an environment you can download to do your development. This is much better than trying to integrate all of their tools yourself with the operating system that you are using. They wrote a service which they use to grade all of your assignments. I think it was neat because you get quick feedback on your assignments so you can keep submitting them until you get a 100% score.

With the Rails stuff, they provide the folder for the web site which they then ask you to modify in the assignments. I found that Rails does a lot of magic so I had a hard time figuring out what to modify and where to modify the correct Rails file. I ended up using the book examples and manually typed all of the files that were needed. This helped me a lot to understand where to modify and how to debug problems.

I am taking this class again because I want to finish the second half of the class. I also want to take part 2 of the class when it comes out.
1
Shang Heng Wei's profile photo
 
This is great info! Thanks!!
Add a comment...

Mark Wong

Shared publicly  - 
 
Learned about a company (http://www.pushtotest.com) that puts their framework around Selenium.

The nicest thing they represented was their IDE to work with Selenium He discussed Selenium Builder which was designed as an on-ramp for people learning Selenium. Selenium Builder was never designed to continue to be used after you learned Selenium.

Since it works on top of Selenium, most of it looks familiar to Selenium people. Their software is implemented in HTML5. This means you can use most modern browsers to record tests instead of only Firefox for Selenium Builder. Another thing is they integrate another tool that you can code up to handle stuff that Selenium doesn't handle. These bits of code run can run within a series of Selenium commands. You can export there commands into various languages including Selanese.
1
Add a comment...

Mark Wong

Shared publicly  - 
 
I went to the first Google Drive developer meeting at the Googleplex. The API and SDK are at https://developers.google.com/drive.

I really didn't quite understand what the difference was between the old Google Documents and Google Drive. The main difference is that all of the other Google services and their own APIs could only work on with the extension types that they know how to handle.

Google Drive lets the application developer work with any type of data that is on Google Drive or referenced. They consider Google Drive as user managed content as opposed to an application developer who manages the content.

There was a couple of demos of a wireframe app. and an app that would work with an Autocad file.

They currently support Java, PHP, Ruby, .net and some other languages and plan to support more.

The Google Drive applications can work with any browser. These Google Drive apps are gotten from the Chrome App store and they are the only apps that will work with other browsers.

Somebody asked about working with info when offline. The presenter said it is up to the App developer.

Ideally what I would like to see is to store programs on the Google Drive and then run them from an app. In that way you could use a Chromebook to do development.

I realize that a lot of this stuff can be done through other web sites but Google Drive is designed to be a general purpose storage area controlled by the user.
1
Add a comment...
Have him in circles
46 people

Mark Wong

Shared publicly  - 
 
calabash-ios and calabash-android

As a user of Android phones, I never realized that Android and IOS behave differently when a keyboard pops up. In Android if you hit the back button, the keyboard will go away. In IOS it will remove the keyboard and then go to the previous screen.

When looking at the documentation on the predefined steps, it mentions:

Built-in keyboard. Touching the Done/Search button

Then I touch done
Then I touch search

You should note that this is different than a regular button. That would be:

Then I touch the "Search" button.

In my case the button displayed Search. When I used 'Then I touch search", it behaved properly.

Touching buttons on the popup keyboards is handled differently than buttons on a regular view.
1
Add a comment...

Mark Wong

Shared publicly  - 
 
I am using scrible toolbar to put notes on web pages and then save them with tags. Unfortunately I am unable to mark github pages.

For calabash-ios, use the following link for the main documentation:

https://github.com/calabash/calabash-ios
1
Add a comment...

Mark Wong

Shared publicly  - 
 
Silicon Valley Code Camp

http://www.siliconvalley-codecamp.com/SessionInterestChart.aspx

The Silicon Valley Code Camp is coming up October 6th and 7th in Los Altos, California. Since I just started learning Ruby, I am interested in any Ruby sessions. There are 70 sessions so far but none directly about Ruby. There are a few sessions on how to integrate tools with Ruby but not about Ruby itself. There were over 200 sessions last year so I can hope.
1
Add a comment...

Mark Wong

Shared publicly  - 
 
Selenium Meetup in San Jose

https://www.zagile.com

Went to a selenium meetup in San Jose. One of the talks was about Zagile. Their tool is designed as a framework that works with the Atlassian tools including Confluence, Jira, Fisheye with other tools like Selenium and Salesforce.

They've designed their software so that you use Atlassian tools to enter requirements. You can then tie in the engineering information like the devlelopers and maintainers and then to the test suites and test cases. You can actually run the Selenium test cases from the product which looks like any other Confluence page. All the information is tied together. You can see test results within Confluence, track issues to the engineers responsible for that module, and then to the requirements. You can even tie the test case to the Salesforce tracking id.

I really like this presentation because we used all of the tools that were being discussed. It would be nice to integrate requirements and test suites and results with the products that we are already using.
1
Add a comment...

Mark Wong

Shared publicly  - 
 
Accessing multiple Oracle databases from Ruby and Rails.

My first real project with Oracle and Ruby and Rails required that you choose a user and then run web pages on that databases.

Rails is really design the opposite way. Normally you enter the databases into the the config/database.yml file of the project. I really didn't want to set up my system that way because the databases that the software had to run on would be constantly changing. Databases would be added and deleted and I didn't want to be constantly updating the database.yml file.

In fact I could have designed the system so that no databases would be in the database.yml file. Fortunately I decided against that and created one table in the database that entirely followed Rails conventions. The one table consisted entirely of Oracle database machine, database port number, service name, database user, and database password. It also has the conventional database columns that Rails expects like ID number, date added, and date modified.

The decision to have one table that followed Rails convention entirely worked out great for me. My one table used most of the default actions that are created automatically for a default Resource command in the Rails app/models file. This reinforced the Rails conventions on how things should be. It also helped a lot later on.

Getting Oracle to work the way Rails wants to work was actually much easier than the other things I was trying to do. First my tools that I were creating were working on legacy databases that did not follow Rails convention. For the main tables that I was looking at I made a model, controller, and views for them. This was also relatively eas to do.

The hard part though was trying to run the SQL procedures and SQL stored procedures to run. The pain in trying to do that will have to wait for a later post.
1
Add a comment...
People
Have him in circles
46 people
Work
Occupation
Software QA Engineer
Employment
  • I-Many
    present
  • Software QA Engineer, 2011
  • Edge Dynamics
  • RSA Security
  • Ricoh of Silicon Valley
  • Sun Microsystems
  • Cisco Systems
  • Amdahl
  • Boeing Computer Services
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
San Jose, CA
Previously
Fresno, CA - Seattle, WA - Redwood City, CA - Berkeley, CA - Sunnyvale, CA
Links
YouTube
Contributor to
Story
Introduction
Over 10 years of experience in Quality Assurance, software design and maintenance. Designed, implemented, and automated builds and execution of test cases and sample code at various companies.
Education
  • University of California, Berkeley
  • Fresno High School
Basic Information
Gender
Male