+3

Basic Java tutorial cho Selenium WebDriver

Mở đầu tutorial là hướng dẫn về Java cơ bản, đây cũng là điều kiện cần và đủ để bạn có thể học về Selenium WebDriver.

1. Data type

1.1 Kiểu int

Kiểu số nguyên dùng 32 bit để lưu trữ Ví dụ:

int i = 4523;

1.2 Kiểu long

Kiểu số nguyên dùng 64 bit để lưu trữ Ví dụ:

long l = 652345;

1.3 Kiểu double

Dùng 64 bit để lưu trữ, dùng để lưu trữ cả số nguyên và số thập phân Ví dụ:

double d1 = 56.2354;  
double d2 = 12456;

1.4 Kiểu char

Kiểu char dùng để lưu trữ một kí tự đơn lẻ Ví dụ:

char c = 'd';

1.5 Kiểu boolean

Lưu giá trị kiểu boolean (true và false) Ví dụ:

boolean b = true;

1.6 Lớp String

Lớp để lưu một chuối kí tự Ví dụ:

String str = "Hello World;

Code mẫu

public class datatypes {

 public static void main(String[] args) {
  int i = 4523;   //Can store 32 bit integer values only.
  long l = 652345;  //Can store 64 bit integer values only.
  double d1 = 56.2354;         //Can store 64 bit decimal values.
  double d2 = 12456;  //We can use it for integer values too.
  char c = 'd';   //Can store single character only.
  boolean t = true;  //Can store only boolean values like true or false.
  String str = "Hello World";  //Can store any string values.
  
  System.out.println("Integer Var Is --> "+i);
  System.out.println("Long Var Is --> "+l);
  System.out.println("double Var d1 Is --> "+d1);
  System.out.println("double Var d2 Is --> "+d2);
  System.out.println("char Var c Is --> "+c);
  System.out.println("boolean Var b Is --> "+t);
  System.out.println("boolean Var str Is --> "+str);
 }
}

Output

Integer Var Is --> 4523
Long Var Is --> 652345
double Var d1 Is --> 56.2354
double Var d2 Is --> 12456.0
char Var c Is --> d
boolean Var b Is --> true
String Var str Is --> Hello World

2. Lớp String

Nhiều người đang hiểu rằng Java String Cũng là một kiểu dữ liệu. String là một object lưu trữ một chuối các kí tự. Java.lang chứa String class để create và thao tác với chuỗi kí tự.Trong WebDriver bạn sẽ làm việc rất thường xuyên với String do đó bạn cần phải nắm vững các function hay dùng của nó. Ví dụ:

public class Strng_Example {

 public static void main(String[] args) {
  
  String st1 = "This World is Very Nice";
  String st2 = " And Beautiful.";
  
  //Comparing two strings. Return true If both match else return false.
  System.out.println("st1 equals to st2? -> "+st1.equals(st2));
  
  //Concatenates st2 with st1.
  System.out.println("Concatenation of st1 and st2 Is -> "+st1.concat(st2));
  
  //Retrieve the 9th Indexed character from string.
  System.out.println("Character at Index 9 Is -> "+st1.charAt(9));
  
  //Find the length of string.
  System.out.println("Length Of St1 -> "+st1.length());
  
  //Converting whole string In lower case.
  System.out.println("String In Lowercase -> "+st1.toLowerCase());
  
  //Converting whole string In upper case.
  System.out.println("String In uppercase -> "+st1.toUpperCase());
  
  //Retrieve the Index of first 'i' character.
  System.out.println("Index of 1st charater i Is -> "+st1.indexOf('i'));
  
  //Retrieve the index of 2nd most 'i' character.
  System.out.println("Index of 2nd charater i Is -> "+st1.indexOf('i', 3));
  
  //Retrieve the Index of word 'Very' from string.
  System.out.println("Index of word Very Is -> "+st1.indexOf("Very"));
  
  //Converting value From int to string.
  int j = 75;
  String val2 = String.valueOf(j);
  System.out.println("Value Of string val2 Is -> "+val2);
  
  //Converting string to integer.
  String val1="50";
  int i = Integer.parseInt(val1);
  System.out.println("Value Of int i Is -> "+i);
  
  //Print the String starting from 5th Index to 12th Index.
  System.out.println("Retrieving sub string from string -> "+st1.substring(5, 13));
  
  //Split string. 
  String splt[] = st1.split("Very");
  System.out.println("String Part 1 Is -> "+splt[0]);
  System.out.println("String Part 2 Is -> "+splt[1]); 

                //Trim String.
  System.out.println("Trimmed st2 -> "+st2.trim()); 
 }
}

Hai Chuỗi So sánh Để so sánh hai chuỗi, chúng ta có thể sử dụng cú pháp như st1.equals (ST2). Nó sẽ trả về true nếu cả hai chuỗi là giống khác nó sẽ trở lại false. Nối hai string Cú pháp st1.concat (ST2) sẽ nối st1 với ST2. Retrieving Character từ Index Cú pháp st1.charAt (9)) sẽ lấy các ký tự từ chuỗi st1 tại Index là 9. Index bắt đầu từ 0.

Chiều dài của chuỗi ký tự st1.length () sẽ trả về chiều dài của chuỗi st1.

Convert String thành chữ thường st1.toLowerCase () sẽ chuyển đổi toàn bộ các kí tự trong chuỗi thành chữ thường.

Convert String thành chữ hoa st1.toUpperCase () sẽ chuyển đổi toàn bộ các kí tự trong chuỗi thành chữ hoa.

Lấy index của kí tự st1.indexOf ( 'i') tìm kiếm kí tự i đầu tiên trong chuỗi và trả về index của nó. st1.indexOf ( 'i', 3)) tìm kiếm kí tự 'i' của chuỗi kể từ index 3 và trả về index của nó. Lấy index của từ st1.indexOf("Very") trả về index của từ 'Very' trong chuỗi.

Convert từ Integer sang String String.valueOf (j)sẽ chuyển đổi giá trị của 'j' từ int thành String.

Convert từ String sang Integer Integer.parseInt (VAL1) sẽ conver giá trị của 'VAL1' từ string sang int.

Lấy sub string từ string st1.substring (5, 13) sẽ lấy sub string từ Index 5 đến Index 13.

Split String splt[] = st1.split("Very") cắt chuỗi bằng từ "Very" và lưu trữ tất cả các kết quả trong một mảng.

Trim String Nếu chuỗi có khoảng trắng ở đầu hoặc cuối bạn có thể sử dụng hàm trim() như sau: st2.trim () để loại bỏ khoảng trắng.

3. if else

1. Câu lệnh if đơn giản

Ví dụ

if (i<j) 
System.out.println("Value Of i("+i+") Is Smaller Than Value Of j("+j+")." );

trong ví dụ trên, message sẽ được in ra khi và chỉ khi giá trị của biến i nhỏ hơn biến j

2. Câu lệnh if else

if (i>=j)
{
 System.out.println("Value Of i("+i+") Is Greater Than Or Equals To Value Of j("+j+")." );
}else
{
 System.out.println("Value Of i("+i+") Is Smaller Than Value Of j("+j+")." );
}

Trong ví dụ trên, message đầu tiên trong khối if sẽ được in ra nếu i>=j. Message trong khối else sẽ được in nếu i<j

3. Câu lệnh if else lồng nhau

Ví dụ

if (k<i)
{
 System.out.println("Value Of k("+k+") Is Less Than Value Of i("+i+")" );
}else if (k>=i && k<=j)
{
 System.out.println("Value Of k("+k+") Is In Between Value Of i("+i+") And Value Of Value Of j("+j+")" );
}else 
{
 System.out.println("Value Of k("+k+") Is Greater Than Value Of j("+j+")" );
}

Trong ví dụ đưa ra ở trên, khối if đầu tiên sẽ được thực hiện nếu giá trị của biến k < i. Khối else if thứ hai sẽ được thực hiện nếu k>=i và k<=j. Khối thứ 3 sẽ được thực hiện nếu k> j. Bạn có thể thực hiện một chuỗi các câu lệnh if khác nếu bạn muốn kiểm tra điều kiện nhiều hơn nữa.

public class IfStatements {

 public static void main(String[] args) {  
  
  int i = 25;
  int j = 50;
  int k = 24;
  //Simple If statement
  System.out.println("***Simple If Statement Example***");
  if (i<j) //Bellow given message will be printed only if value of variable i is less than value of variable j.
   System.out.println("Value Of i("+i+") Is Smaller Than Value Of j("+j+")." );
  
  //If Else Statement
  System.out.println("");
  System.out.println("***If Else Statement Example***");
  if (i>=j)//Bellow given message will be printed if value of variable i is greater than or equals to value of variable j.
  {
   System.out.println("Value Of i("+i+") Is Greater Than Or Equals To Value Of j("+j+")." );
  }else//Bellow given message will be printed if value of variable i is less than value of variable j.
  {
   System.out.println("Value Of i("+i+") Is Smaller Than Value Of j("+j+")." );
  }
  
  //Nested If Else Statement
  System.out.println("");
  System.out.println("***Nested If Else Statement Part***");
  if (k<i)//Bellow given message will be printed if value of variable k is less than value of variable i.
  {
   System.out.println("Value Of k("+k+") Is Less Than Value Of i("+i+")" );
  }else if (k>=i && k<=j)//Bellow given message will be printed if value of variable k is greater than or equals to value of variable i and less than or equals to value of variable j.
  {
   System.out.println("Value Of k("+k+") Is In Between Value Of i("+i+") And Value Of Value Of j("+j+")" );
  }else //Bellow given message will be printed if value of variable k is greater than value of variable j.
  {
   System.out.println("Value Of k("+k+") Is Greater Than Value Of j("+j+")" );
  }
 }
}

Output

***Simple If Statement Example***
Value Of i(25) Is Smaller Than Value Of j(50).

***If Else Statement Example***
Value Of i(25) Is Smaller Than Value Of j(50).

***Nested If Else Statement Part***
Value Of k(24) Is Less Than Value Of i(25)

4. Vòng lặp for

Vòng lặp (for, while, while-do) có vai trò rất quan trọng trọng selen webdriver testing. Đôi khi bạn phải thực hiện một action nhiều lần (ví dụ 1000 lần) trên trang web cần test, bạn tất nhiên sẽ không phải viết 1000 đoạn mã như nhau mà thay vào đó ta sẽ dùng vòng lặp. Một vòng lặp bao gồm 3 phần: 1. Variable Initialization: biến khởi tạo 2. Condition To Terminate: Điều kiện dừng vòng lặp 3. Increment/Decrements variable: Biến tăng/giảm Vòng lặp sẽ dừng khi Điều kiện dừng vòng lặp trả về giá trị false Ví dụ vòng lặp for

for(int i=0; i<=3; i++){
 System.out.println("Value Of Variable i is " +i);
}

Code mẫu

public class forloop {

 public static void main(String[] args) {
  for(int i=0; i<=3; i++){ //This loop will be executed 4 times
   System.out.println("Value Of Variable i is " +i);
  }
  
  System.out.println("");
  int i=0;
  int k = 200;
  for(int j=3; j>=i; j--){ //This loop will be executed 4 times
   System.out.println("Value Of Variable j is " +j);
   k = k-10;
  }
                System.out.println("");
  System.out.println("Value Of Variable k is " +k);

 }

}

Output

Value Of Variable i is 0
Value Of Variable i is 1
Value Of Variable i is 2
Value Of Variable i is 3

Value Of Variable j is 3
Value Of Variable j is 2
Value Of Variable j is 1
Value Of Variable j is 0

Value Of Variable k is 160

5. Vòng lặp while

Khối mã được viết trong vòng lặp sẽ được thực hiện cho đến khi các điều kiện của vòng lặp while vẫn còng đúng Ví dụ:

 int i = 0; 
 while(i<=3){
  System.out.println("Value Of Variable i Is "+i);
  i++;
 }

Trong ví dụ trên vòng lặp While sẽ được thực hiện 4 lần While do Tương tự như vòng lặp while, While do sẽ được thực hiện cho đến khi tình trạng này trả về true. Ví dụ:

int j=0;
 do{
  System.out.println("Value Of Variable j Is "+j);
  j=j-1;
 }while(j>0);

Trong ví dụ này vòng lặp sẽ được thực hiện một lần duy nhất. Sự khác nhau giữa while và do while Có một sự khác biệt giữa while và do while

  • Vòng lặp while sẽ kiểm tra điều kiện trước khi thực hiện câu lệnh đoạn mã trong thân hàm. Nó sẽ được thực hiện chỉ khi nào điều kiện(while(i<=3)) trả về true.
  • do while sẽ kiểm tra điều kiện sau khi thực hiện xong khối mã trong thân hàm, do đó khối mã trong thân hàm sẽ được thực hiện ít nhất 1 lần. Sau khi thực hiện khối mã trong thân hàm lần đầu tiên, nó sẽ check điều kiện vòng lắp, nếu kết quả trả về true, khối mã trong thân hàm sẽ được chạy thêm một lần nữa

Nhược điểm của while hoặc do while Nếu bạn sẽ quên tăng hoặc giảm giá trị biến bên trong vòng lặp thì nó sẽ bị execute vô hạn Ví dụ:

        int i = 0; 
 while(i<=3){
  System.out.println("Value Of Variable i Is "+i);    
 }

Trong ví dụ trên biên i không được tăng lên do đó nó luôn thỏa mãn điều kiện i<=3 dẫn đến vòng lặp chạy vô hạn Code mẫu

public class Whileloop {

 public static void main(String[] args) {
  
  //while loop - will be executed till condition returns true.
  System.out.println("***while loop example***");
  int i = 0; //Variable initialization
  while(i<=3){
   System.out.println("Value Of Variable i Is "+i);
   i++;//Incrementing value of i by 1.
  }
  
  //do while loop - will be executed minimum one time without considering condition.
  System.out.println("");
  System.out.println("***do while loop example***");
  int j=3; //Variable initialization
  do{
   System.out.println("Value Of Variable j Is "+j);
   j=j-1;//Decrementing value of j by 1;
  }while(j>=0);
 }
}

Output

***while loop example***
Value Of Variable i Is 0
Value Of Variable i Is 1
Value Of Variable i Is 2
Value Of Variable i Is 3

***do while loop example***
Value Of Variable j Is 3
Value Of Variable j Is 2
Value Of Variable j Is 1
Value Of Variable j Is 0

6. Arrays

Nếu chúng ta lưu trữ nhiều giá trị (10 hoặc 15 hoặc các giá trị khác nhau trở lên) vào các biến khác nhau sẽ phải mất công khởi tạo từng biến riên lẻ rồi gán giá trị. Trong tình huống này, bạn có thể sử dụng mảng để lưu trữ nhiều giá trị khác nhau Một mảng có thể lưu trữ nhiều giá trị của kiểu dữ liệu tương ứng (int, char, String), mỗi phần tử trong mảng đều có index. Có hai loại mảng trong java là Mảng một chiều và mảng hai chiều.

Mảng một chiều

Mảng một chiều cũng giống như bảng tính với một hàng dữ liệu. Như thể hiện trong hình trên, chỉ số của mảng là bắt đầu từ 0. Giá trị 10 có index là 0, giá trị 12 có index là 1...Mỗi giá trị có thể được xác định bởi index của nó. Chúng ta có thể tạo ra và gán giá trị Trong mảng như hình Trong ví dụ dưới đây

public class Array_Example {

 public static void main(String[] args) {
  int a[] = new int[6]; //Array declaration and Creation. 6 is length of array.
  a[0] = 10; //initialize 1st array element
  a[1] = 12; //initialize 2nd array element
  a[2] = 48; //initialize 3rd array element
  a[3] = 17; //initialize 4th array element
  a[4] = 5;  //initialize 5th array element
  a[5] = 49; //initialize 6th array element
  
  for(int i=0; i<a.length; i++){
  System.out.println(a[i]);
  }
 }

}

Output: a[0] Holds 10 a[1] Holds 12 a[2] Holds 48 a[3] Holds 17 a[4] Holds 5 a[5] Holds 49

Một cách khác để tạo một mảng như sau:

int a[] = {10,12,48,17,5,49};

Mảng hai chiều Mảng hai chiều giống như bảng tính với nhiều hàng và nhiều cột. Mỗi giá trị sẽ được xác định bởi chỉ số cột và chỉ số hàng Ví dụ dưới đây dùng mảng hai chiều để lưu trữ user name và password của một nhóm người dùng

public class Twodimarray {

 public static void main(String[] args) {
  String str[][] = new String[3][2]; //3 rows, 2 columns
  str[0][0]="User1";
  str[1][0]="User2";
  str[2][0]="User3";
  str[0][1]="Password1";
  str[1][1]="Password2";
  str[2][1]="Password3";
  
  for(int i=0; i<str.length; i++){//This for loop will be total executed 3 times.
   for(int j=0; j<str[i].length; j++){//This for loop will be executed for 2 time on every iteration.
    System.out.println(str[i][j]);
   }
  }
 }
}

Output

User1
Password1
User2
Password2
User3
Password3

Một cách khác để khởi tạo mảng hai chiều ngắn gọn hơn:

String str[][] = {{"User1","Password1"},{"User2","Password2"},{"User3","Password3"}};

(Còn nữa)

Nguồn: http://www.software-testing-tutorials-automation.com/2014/01/learn-selenium-webdriver-online-free.html


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.