Tài liệu học Selenium.

Hướng dẫn sử dụng và các lệnh của công cụ kiểm thử giao diện, chức năng Selenium.
thelast02
Hoc Tester
Posts: 3
Joined: Wed 13 Apr, 2011 11:27 pm
Contact:

Re: Tài liệu học Selenium.

Post by thelast02 »

Hi anh Tvn!
Anh cho em hỏi thêm về cái verify với assert với ạ. Em cũng đã thử export sang Junit 4 nhưng khi em chạy trên Eclipse thì hình như nó không hỗ trợ mấy hàm này hoặc em không biết cách gọi nó ạ. Cụ thể là nó yêu cầu tạo phương thức verifyTrue(boolean) (Em sử dụng lệnh verifyTrue), còn với hàm assert thì em import thêm cái import static org.junit.Assert.*; theo như gợi ý của Eclipse nhưng không biết có được không vì còn vướng cái verify kia không chạy được ạ. Còn mấy cái lệnh open, click chuyển sang hàm bên Junit đều thấy chạy bình thường ạ. Anh xem giúp em với ạ. Đây là test case em thử đăng nhập vào email ạ.

Code: Select all

import static org.junit.Assert.*;

import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.regex.Pattern;

public class JUnitDangNhap1 {
	public Selenium selenium;
	@Before 
	
	public void setUp() throws Exception {
		selenium = new DefaultSelenium("localhost", 4444, "*chrome", "https://mail.viettel.com.vn/");
		selenium.start();
	}

	@Test
	public void testJUnitDangNhap1() throws Exception {
		selenium.open("/");
		assertEquals("Viettel System Messenger Express", selenium.getTitle());
		selenium.click("name=user");
		selenium.click("css=img[alt=\"Banner\"]");
		assertEquals("Viettel System Messenger Express", selenium.getTitle());
		verifyTrue(selenium.isTextPresent(""));
		verifyTrue(selenium.isElementPresent("css=label"));
		assertTrue(selenium.isElementPresent("name=user"));
		verifyTrue(selenium.isElementPresent("//tr[3]/td/div/label"));
		verifyTrue(selenium.isElementPresent("name=password"));
		verifyTrue(selenium.isElementPresent("id=button"));
		verifyTrue(selenium.isElementPresent("css=img[alt=\"Viettel Logo\"]"));
		selenium.click("//tr[7]/td[2]");
		assertEquals("Để sử dụng được Web-mail của Viettel trên Windows Internet Explorer, người dùng cần đặt Security Setting ở mức Medium hoặc Medium-High. Các bước cụ thể như sau: Chọn Tools -> Internet Options -> Security. Kéo thanh trượt đặt ở mức : Medium hoặc Medium-High. Sau đó chọn OK. \n Để sử dụng được các phần mềm Email Client (Microsoft Outlook, Outlook Express, Thunderbird, Blackberry, Iphone …) người dùng cần phải thiết lập giao thức bảo mật SMTPS và POP3S. \n Xin chân thành cảm ơn!", selenium.getTable("css=table.6.1"));
		selenium.click("//tr[7]/td[2]");
		selenium.click("id=button");
		selenium.waitForPageToLoad("30000");
		assertEquals("Sun Java System Communications Express", selenium.getTitle());
		selenium.selectFrame("mailFrame");
		selenium.selectFrame("toolFrame");
		verifyTrue(selenium.isElementPresent("css=img[alt=\"Sun Java System Messenger Express\"]"));
		assertEquals("Welcome Nguyễn Huyền Trang", selenium.getTable("css=table.1.1"));
	}

	@After
	public void tearDown() throws Exception {
		selenium.stop();
	}
}




tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Tài liệu học Selenium.

Post by tvn »

Bạn xem thêm về Verify vs Assert ở đây nha.



cuhavp
Jr. Tester
Posts: 61
Joined: Mon 21 Jan, 2013 3:52 pm
Contact:

Re: Tài liệu học Selenium.

Post by cuhavp »

Thanks ban, minh dang rat can tai lieu nay



luasaigon
Fresher Tester
Posts: 36
Joined: Thu 27 Oct, 2011 10:50 pm
Contact:

Re: Tài liệu học Selenium.

Post by luasaigon »

tvn wrote:
ngongyeu08 wrote:hihi, Tài liệu thì nhiều phần lắm!
có ai share cách viết 1 test case trên selenium với không?
- Ví dụ mình muốn viết test case kiểm tra tính hợp lệ của email khi nhập liệu thì viết trên selenium như thế nào?
hướng dẫn các bước từ đầu thực hiện lun thì tốt!!! :oops:
Bạn có thử sử dụng selenium ide chưa, bạ sử dụng thử đi nha. với test case của bạn thì mình sẽ viết như sau
  • 1. open(web mà muon nhap email vao);
    2. input email muốn test
    3. Click button gì đó
    4. kiểm tra thông báo để biet email hợp lệ hay không
Bạn đưa ra trang web cụ thể đi, mình sẽ làm từng bước với selenium ide.
Bạn cho mình hỏi trong selenium lệnh nào dùng để kiểm tra text của 1 thông báo trên cửa sổ mới vậy? Mình dùng thử lệnh Verifytextpresent nhưng không được.
Ví dụ mình muốn test "Quên password" như sau:
1. Click vào quên password
2. Nhập user name
3. Nhập email
4. Click submit
5. Kiểm tra thông báo xem là email có đúng hay không?

Bạn nào giúp mình được không?



luasaigon
Fresher Tester
Posts: 36
Joined: Thu 27 Oct, 2011 10:50 pm
Contact:

Re: Tài liệu học Selenium.

Post by luasaigon »

tvn wrote:
ngongyeu08 wrote:hihi, Tài liệu thì nhiều phần lắm!
có ai share cách viết 1 test case trên selenium với không?
- Ví dụ mình muốn viết test case kiểm tra tính hợp lệ của email khi nhập liệu thì viết trên selenium như thế nào?
hướng dẫn các bước từ đầu thực hiện lun thì tốt!!! :oops:
Bạn có thử sử dụng selenium ide chưa, bạ sử dụng thử đi nha. với test case của bạn thì mình sẽ viết như sau
  • 1. open(web mà muon nhap email vao);
    2. input email muốn test
    3. Click button gì đó
    4. kiểm tra thông báo để biet email hợp lệ hay không
Bạn đưa ra trang web cụ thể đi, mình sẽ làm từng bước với selenium ide.
Bạn cho mình hỏi ở bước 4 muốn kiểm tra thông báo để biết email có hợp lệ hay không thì dùng lệnh gì? Ví dụ như test trang quên mật khẩu của site testingvn.com: ucp.php?mode=sendpassword. Qua bước 4 thì làm sao để kiểm tra.



tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Tài liệu học Selenium.

Post by tvn »

Nếu là popup thì có các hàm để verify đó nha bạn "text của 1 thông báo trên cửa sổ mới vậy?"

Dùng hàm này nha bạn verifyConfirmationPresent
verifyConfirmationPresent.png
You do not have the required permissions to view the files attached to this post.



Trang Candy
Hoc Tester
Posts: 5
Joined: Tue 06 Nov, 2012 6:05 pm
Contact:

Re: Tài liệu học Selenium.

Post by Trang Candy »

Đúng cái mình đang muốn biết



Trang Candy
Hoc Tester
Posts: 5
Joined: Tue 06 Nov, 2012 6:05 pm
Contact:

Re: Tài liệu học Selenium.

Post by Trang Candy »

Anh Tvn ơi em vẫn không biết làm sao để Esclipse nhận lệnh verify của Selenium.
Mà khi record từ IDE em có cần thao tác các trường hợp nhập sai và nhập đúng theo Testcase thủ công em đã lập hay không ạ? Hay chỉ cần trường hợp nhập đúng rồi export sang RC? Mà nếu cần thì em để mỗi cái vào một testcase rùi export hay sao ạ?
Thực sự là em không biết, có thể là hỏi ngốc quá nhưng em rất mong anh trả lời giúp em ạ. Em cảm ơn anh!



tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Tài liệu học Selenium.

Post by tvn »

Đây là test case mình record từ Selenium IDE

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="https://www.google.com.vn/" />
<title>Trang Candy</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">Trang Candy</td></tr>
</thead><tbody>
<tr>
	<td>open</td>
	<td>/</td>
	<td></td>
</tr>
<tr>
	<td>click</td>
	<td>//td[@id='gs_tti0']</td>
	<td></td>
</tr>
<tr>
	<td>type</td>
	<td>name=q</td>
	<td>tu hoc tester</td>
</tr>
<tr>
	<td>clickAndWait</td>
	<td>//ol[@id='rso']/li[2]/div/h3/a</td>
	<td></td>
</tr>
<tr>
	<td>clickAndWait</td>
	<td>//div[@id='page-body']/div[16]/div[3]/span/a</td>
	<td></td>
</tr>
<tr>
	<td>clickAndWait</td>
	<td>//div[@id='p4227']/div/div/div/a</td>
	<td></td>
</tr>
<tr>
	<td>clickAndWait</td>
	<td>//div[@id='page-body']/div[5]/div/ul[2]/li/dl/dd[3]/span/a[2]/img</td>
	<td></td>
</tr>
<tr>
	<td>verifyTextPresent</td>
	<td>GUI Checklist - Danh sách các mục cần kiểm tra giao diện</td>
	<td></td>
</tr>

</tbody></table>
</body>
</html>

Đây là code convert từ Selenium IDE sang Junit 4 Remote Control

Code: Select all

package com.example.tests;

import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import java.util.regex.Pattern;

public class Trang Candy {
	private Selenium selenium;

	@Before
	public void setUp() throws Exception {
		selenium = new DefaultSelenium("localhost", 4444, "*chrome", "https://www.google.com.vn/");
		selenium.start();
	}

	@Test
	public void testTrang Candy() throws Exception {
		selenium.open("/");
		selenium.click("//td[@id='gs_tti0']");
		selenium.type("name=q", "tu hoc tester");
		selenium.click("//ol[@id='rso']/li[2]/div/h3/a");
		selenium.waitForPageToLoad("20000");
		selenium.click("//div[@id='page-body']/div[16]/div[3]/span/a");
		selenium.waitForPageToLoad("20000");
		selenium.click("//div[@id='p4227']/div/div/div/a");
		selenium.waitForPageToLoad("20000");
		selenium.click("//div[@id='page-body']/div[5]/div/ul[2]/li/dl/dd[3]/span/a[2]/img");
		selenium.waitForPageToLoad("20000");
		verifyTrue(selenium.isTextPresent("GUI Checklist - Danh sách các mục cần kiểm tra giao diện"));
	}

	@After
	public void tearDown() throws Exception {
		selenium.stop();
	}
}
You do not have the required permissions to view the files attached to this post.



Trang Candy
Hoc Tester
Posts: 5
Joined: Tue 06 Nov, 2012 6:05 pm
Contact:

Re: Tài liệu học Selenium.

Post by Trang Candy »

Em cảm ơn anh TVN nhìu! Em đang nghiên cứu phần này và cũng vỡ ra một số vấn đề, sau này em sẽ chia sẻ cùng các bạn nhiều hơn :)



Post Reply

Return to “Hướng Dẫn Sử Dụng Selenium”