Selenium Examples

Selenium Examples

Today, one of my friends wanted to query his GCT(Graduate Candidate Test) scores,
and he knew his ID number, but he forgot his Admission Form No., it is easy to find out the first 11 digits assigned to his school,
but he just knew the range of last four digits, so he asked me to help to figure it out.

The first thought is to write a program and use HttpURLConnection to submit form and analyze response,
but it failed for some reason, and don't want the friend to wait for a long time, so I gave up my
first idea, and resort to Selenium.

1: start selenium server:
Download Selenium RC.
cd selenium-remote-control-1.0.1-dist\selenium-server-1.0.1
java -jar selenium-server.jar (to run the server in interactive mode execute java -jar selenium-server.jar -interactive)

2: Then write the following code:
import com.thoughtworks.selenium.SeleneseTestCase;
public class Scores extends SeleneseTestCase {
    public void setUp() throws Exception {
        setUp("http://**.edu.cn/", "*");
    }

    public void testScores() throws Exception {
        String idNo = "*******************";
        String admFormNoPrefix = "************";
        int admFormNoUnknownPartStart = 1000, admFormNoUnknownPartEnd = 3000;
        boolean notMatch = true;
        selenium.setTimeout("300000");
        for (int i = admFormNoUnknownPartStart; i < admFormNoUnknownPartEnd; i++) {
            selenium.open("/graduate/**.htm");
            selenium.type("zjhm", idNo);
            selenium.type("ksbh", admFormNoPrefix + i);
            selenium.click("B1");
            selenium.waitForPageToLoad("10000");
            notMatch = selenium.isTextPresent("Id No. and Admission Form No. don't match.");
            if (!notMatch) {
                System.out.println("Admission Form No.= " + admFormNoPrefix + i);
            }
            assertTrue(notMatch);
        }
    }
}
Then Run it as JUnit Test.
At last, problem resolved, and thanks, Selenium :)

Resources:
http://blog.taragana.com/index.php/archive/5-minute-guide-to-selenium-ide-and-selenium-rc-test-tools/
http://blog.taragana.com/index.php/archive/9-important-tips-for-selenium-remote-control-java-client-test-tool/
Post a Comment

Labels

Java (159) Lucene-Solr (110) Interview (61) All (58) J2SE (53) Algorithm (45) Soft Skills (36) Eclipse (34) Code Example (31) Linux (24) JavaScript (23) Spring (22) Windows (22) Web Development (20) Nutch2 (18) Tools (18) Bugs (17) Debug (16) Defects (14) Text Mining (14) J2EE (13) Network (13) Troubleshooting (12) PowerShell (11) Chrome (9) Design (9) How to (9) Learning code (9) Performance (9) UIMA (9) html (9) Http Client (8) Maven (8) Problem Solving (8) Security (8) bat (8) blogger (8) Big Data (7) Continuous Integration (7) Google (7) Guava (7) JSON (7) ANT (6) Coding Skills (6) Database (6) Scala (6) Shell (6) css (6) Algorithm Series (5) Cache (5) Dynamic Languages (5) IDE (5) Lesson Learned (5) Programmer Skills (5) Tips (5) adsense (5) xml (5) AIX (4) Code Quality (4) GAE (4) Git (4) Good Programming Practices (4) Jackson (4) Memory Usage (4) Miscs (4) OpenNLP (4) Project Managment (4) Spark (4) System Design (4) Testing (4) ads (4) regular-expression (4) Android (3) Apache Spark (3) Become a Better You (3) Concurrency (3) Eclipse RCP (3) English (3) Happy Hacking (3) IBM (3) J2SE Knowledge Series (3) JAX-RS (3) Jetty (3) Restful Web Service (3) Script (3) regex (3) seo (3) .Net (2) Android Studio (2) Apache (2) Apache Procrun (2) Architecture (2) Batch (2) Bit Operation (2) Build (2) Building Scalable Web Sites (2) C# (2) C/C++ (2) CSV (2) Career (2) Cassandra (2) Distributed (2) Fiddler (2) Firefox (2) Google Drive (2) Gson (2) How to Interview (2) Html Parser (2) Http (2) Image Tools (2) JQuery (2) Jersey (2) LDAP (2) Life (2) Logging (2) Python (2) Software Issues (2) Storage (2) Text Search (2) xml parser (2) AOP (1) Application Design (1) AspectJ (1) Chrome DevTools (1) Cloud (1) Codility (1) Data Mining (1) Data Structure (1) ExceptionUtils (1) Exif (1) Feature Request (1) FindBugs (1) Greasemonkey (1) HTML5 (1) Httpd (1) I18N (1) IBM Java Thread Dump Analyzer (1) JDK Source Code (1) JDK8 (1) JMX (1) Lazy Developer (1) Mac (1) Machine Learning (1) Mobile (1) My Plan for 2010 (1) Netbeans (1) Notes (1) Operating System (1) Perl (1) Problems (1) Product Architecture (1) Programming Life (1) Quality (1) Redhat (1) Redis (1) Review (1) RxJava (1) Solutions logs (1) Team Management (1) Thread Dump Analyzer (1) Visualization (1) boilerpipe (1) htm (1) ongoing (1) procrun (1) rss (1)

Popular Posts