Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

TI LIU HNG DN SELENIUM

Chng I. Gii thiu


y l cng c tt nht cho kim tra web-application. Kim tra t ng ha c
ngha l s dng mt cng c chy th nghim lp li i vi cc ng dng nhm
mc tiu bt c khi no cn thit.
Chng 2. Introducing Selenium
2.1.
T ng ha hay khng t ng ha?
Selenium khng phi lun gp thun li khi t ng ha cc trng hp
kim th. C khi kim th bng tay li thch hp hn. V d nh giao din ca ngi
dng trnh ng dng s thay i trong tng lai gn, nh vy th bt k t ng ha
no cng c vit li. i khi n gin l khng thi gian vit t ng
ha .i vi k hn ngn, kim tra bng tay c th c hiu qu hn. Nu mt ng
dng c mt thi hn rt cht ch, hin ti khng c t ng kim tra c sn, v n bt
buc l vic th nghim c thc hin trong khong thi gian, kim tra bng tay l
gii php tt nht.
Tuy nhin, t ng ha c li th c th nng cao hiu qu lu di ca mt
nhm phn mm kim tra quy trnh. Kim tra t ng h tr:

Thng xuyn kim tra hi quy


Phn hi nhanh chng pht trin trong qu trnh pht trin
Hu nh khng gii hn s thc hin lp i lp li trng hp th
nghim
Ty chnh bo co ca cc sai st ng dng

H tr cho Agile v phng php pht trin eXtreme


Ti liu c tnh k lut ca cc trng hp th nghim
Tm cc khuyt tt b mt bng cch kim tra bng tay
2.2.

Test Automation for Web Applications

2.3. Introducing Selenium


Selenium l mt tp hp mnh m ca cc cng c h tr pht trin nhanh
chng ca cc th nghim t ng ha cho cc ng dng da trn web.Selenium cung
cp mt tp phong ph ca cc th nghim chc nng c bit hng n cc nhu cu
ca cc th nghim ca mt ng dng web. Cc hot ng ny l rt linh hot, cho
php nhiu ty chn cho v tr cc thnh phn UI v so snh kt qu th nghim d
kin s chng li hnh vi ng dng thc t
2.4. Selenium Components
Selenium gm c ba cng c chnh. Mi c mt vai tr c th trong vic h tr
s pht trin ca t ng ha kim tra ng dng web
1

2.4.1. Selenium-IDE
Selen-IDE l mi trng pht trin tch hp cho vic xy dng trng hp th
nghim Selenium. N hot ng nh mt trnh duyt Firefox add-on v cung cp mt
giao din d s dng pht trin v chy trng hp kim th c nhn, b kim tra
ton b. Selenium-IDE c mt tnh nng ghi li, s gi ti khon ca ngi s dng
khi chng c thc hin v lu tr chng nh l mt kch bn ti s dng pht s
dng. N cng c mt menu ng cnh (nhn chut phi) tch hp vi trnh duyt
Firefox, cho php ngi dng chn t mt danh sch xc nhn v xc minh cho cc v
tr chn. Selenium-IDE cng cung cp chnh sa y cc trng hp th nghim
cho chnh xc hn v kim sot.
Mc d Selen-IDE ch l mt Firefox add-on, cc kim th to ra trong n cng
c th c chy cho cc trnh duyt khc bng cch s dng Selenium-RC v ch
nh tn ca b ng dng th nghim trn dng lnh.
2.4.2. Selenium-RC (Remote Control)
Selen-RC cho php cc nh pht trin t ng ha kim tra s dng mt ngn
ng lp trnh cho tnh linh hot ti a v m rng trong vic pht trin logic th
nghim. V d, nu trnh ng dng tr v mt tp kt qu u vic kim tra, v nu
chng trnh th nghim t ng cn chy th nghim trn mi phn t trong tp hp
kt qu, h tr lp i lp li cc ngn ng lp trnh c th c s dng chuyn i
thng qua vic tp hp kt qu, ku gi Selenium lnh chy th nghim trn mi mc.
Selen-RC cung cp mt API (Application Programming Interface) v th vin
cho mi ngn ng c h tr: HTML, Java, C #, Perl, PHP, Python, v Ruby. Kh
nng s dng Selen-RC vi mt ngn ng lp trnh bc cao pht trin cc trng
hp th nghim cng cho php th nghim t ng c tch hp vi
mt d n xy dng mi trng t ng.
Chng 3. SELENIUM BASICS
Selenium Commands c 3 flavors : Actions, Accessors and Assertions.
Actions l cc lnh thao tc thng thng ca ng dng nh Click this link v
select that option . nu c 1 Action tht bi hoc c li, vic thc hin cc
thc thi hin ti dng li.
Nhiu Action c th c gi vi cc hu t AndWait e.g nh l
ClickAndWait ngha l hnh ng ny s lm cho brower gi server v
Selenium i ti 1 trang mi.
Accessors kim tra trng thi ca ng dng v lu tr cc kt qu trong cc
bin e.g storeTitle. Chng c gi t ng to ra Assertions.
Assertions nh l Accessors, nhng cng kim tra trng thi ca ng dng c
ph hp vi nhng g c mong i khng. Ex: nh m bo cc tiu
trang l X v xc nhn checkbox ny c kim tra.
Tt c Selenium Assertions c th dng trong 3 hnh thc: assert,verify,
waitFor. Ex: assertText, verifyText v waitForText. Khi 1 assert tht
2

bi, test c hy b. Khi verify tht bi, th test s tip tc thc thi, login
tht bi. N cho php assert m bo ng dng trn trang l chnh xc,
waitFor lnh ch i i vi mt s iu kin tr thnh hin thc (m c
th hu ch khi test cc ng dng Ajax). S thnh cng ngay lp tc nu iu kin ny
lun lun ng. Tuy nhin, s tht bi v ngn chn s kim tra nu iu kin khng
ng trong cc thit lp thi gian hin ti (xem cc hnh ng setTimeout di y).
3.1.
Script Syntax
Lnh Selenium rt n gin, chng bao gm cc lnh v 2 tham s. Ex:
verifyText
//div//a[2]
Login
Cc tham s khng phi lun lun cn thit, n ph thuc vo lnh. Trong mt s
trng hp yu cu c hai, mt s ch yu cu tham s , v mt s khc khng yu
cu c c hai
goBackAndWait
verifyTextPresent
Welcome To My Home Page
type
id = phone
(555) 666-7066
type
id = address1
${myVariableAddress}
Cc lnh tham chiu m t cc yu cu tham s cho mi lnh.
Thng s khc nhau, tuy nhin chng thng:
mt location xc nh mt yu t giao din ngi dng trong trang.
mt text pattern thm tra hoc khng nh trang ni dung d kin
mt text pattern hoc mt bin selenium nhp vn bn vo mt trng u vo
hoc chn mt ty chn t mt danh sch ty chn.

Selenium Accessors

Chng 4. SELENIUM-IDE
4.1.

Introduction
Cc Selen-IDE (Mi trng pht trin tch hp) l cng c bn s dng pht
trin cc trng hp kim th Selenium ca bn. N d s dng cho Firefox plug-in v
ni chung l cch hiu qu nht pht trin cc trng hp kim th. N cng cha
mt menu ng cnh cho php bn la chn u tin mt yu t giao din ngi dng
t cc trnh duyt hin ang hin th trang v sau chn t mt danh sch cc lnh
Selenium vi cc thng s c xc nh trc theo ng cnh ca phn t giao din
ngi dng la chn. iu ny khng ch tit kim thi gian, m cn l cch tuyt vi
hc c php lnh Selenium.
3

4.2. Installing the IDE


Dng vi firefox, trc tin download IDE t trang downloads page
4.3.

Log/Reference/UI-Element/Rollup Pane

4.3.1.
Log
Khi bn chy trng hp th nghim ca bn, thng bo li v thng bo thng
tin cho thy s tin b c hin th trong ca s ny s t ng, ngay c khi bn
khng u tin chn tab Log. Cc thng ip ny thng c ch g li trng hp
th nghim. Ch nt Clear xo ng nhp. Ngoi ra thng bo vo nt Info
l mt la chn th xung cho php ca cc cp khc nhau ca thng tin ng
nhp.
4.3.2. Reference
Th tham chiu l la chn mc nh bt c khi no bn nhp hoc thay i cc
lnh Selenese v cc thng s trong bng ch . Trong Bng ch , cc ca s s
hin th ti liu tham kho trn hin lnh. Khi nhp hoc sa i lnh, t Bng hoc
ch ngun, l quan trng m bo rng cc thng s quy nh ti cc mc tiu
v gi tr ph hp vi cc lnh vc quy nh trong danh sch tham s trong khung
Reference. S lng cc thng s c cung cp phi ph hp s quy nh, th t cc
tham s c cung cp phi ph hp vi trnh t quy nh, v loi cc thng s c
cung cp phi ph hp vi loi quy nh. Nu c s khng ph hp trong bt k ca
ba khu vc,lnh s khng chy ng.
4.3.3. UI-Element and Rollup
Thng tin chi tit trn hai tm (trong bao gm tnh nng nng cao) c th c
tm thy trong cc UIElement Ti liu trn menu Help ca Selen-IDE.
4.4. Building Test Cases
C ba phng php chnh cho cc trng hp th nghim pht trin. Thng
thng, mt nh pht trin th nghim s yu cu tt c ba k thut.
4.4.1. Recording
Nhiu ngi s dng ln u bt u bng cch ghi li mt trng hp th nghim
t s tng tc ca h vi mt trang web. Khi Selen-IDE l ln u tin m ra, nt ghi
licvtheomcnh.
Lu : iu ny c th c thit lp tt nh l mt mc nh vi mt
phn m rng ngi s dng c sn.
Trong qu trnh ghi, Selenium-IDE s t ng chn thm cc lnh vo trng hp
th nghim ca bn da trn hnh ng ca bn. Thng thng, iu ny s bao gm:
Click a link- click or clickAndWait commands
Nhp cc gi tr- type command
Selecting options from a drop-down listbox - select command
4

Clicking checkboxes or radio buttons - click command


Sau y l mt s gotchas phi bit:

Lnh loi c th yu cu cch bm vo mt s khu vc khc ca trang web


cho n ghi li.

Sau mt lin kt thng ghi mt lnh nhp chut. Bn thng s cn phi


thay i iu ny clickAndWait m bo trng hp th nghim ca
bn tm dng cho n khi trang mi c ti xong. Nu khng, trng hp
th nghim ca bn s tip tc chy cc lnh trc khi cc trang c
np tt c cc yu t giao din ngi dng ca n. iu ny s gy ra trng
hp bt ng tht bi th nghim

4.4.2.
Adding Verifications and Asserts With the Context Menu
Trng hp kim tra ca bn cng s cn phi kim tra cc thuc tnh ca mt
trang web. iu ny i hi khng nh v xc nhn lnh. Chng ti s khng m t
chi tit c th ca cc lnh ny y, l trong chng v "Selenese" Selenium lnh.
y chng ti ch n gin l s m t lm th no thm chng vo trng hp
th nghim ca bn.
Vi Selen-IDE ghi m, i vo cc trnh duyt hin th cc ng dng th nghim
ca bn v kch chut phi vo bt c ni no trn trang. Bn s thy mt hin th
menu ng cnh xc minh v / hoc khng nh lnh.
Ln u tin bn s dng Selenium, c th ch l mt trong Selenium lnh c lit
k. Khi bn s dng cc IDE tuy nhin, bn s tm thy lnh b sung s nhanh chng
c b sung vo trnh n ny. Selen-IDE s c gng d on nhng g lnh, cng
vi cc thng s, bn s cn phi c mt yu t giao din ngi dng c la chn
trn trang web hin nay.
Hy xem cch lm vic ny. M trang web la chn ca bn v chn mt khi vn
bn trn trang web. Mt on vn hoc mt nhm s lm vic tt. By gi, kch chut
phi vo vn bn chn. Cc menu ng cnh s cho bn mt lnh verifyTextPresent
v tham s c xut phi c vn bn chnh n.
Ngoi ra, thng bo Show All Available Commands menu option. iu ny cho
thy nhiu, rt nhiu lnh hn, mt ln na, cng vi cc thng s xut, th
nghim cc phn t hin ang c chn giao din ngi dng ca bn.
Hy th mt vi yu t giao din ngi dng hn. Hy th kch chut phi vo mt
hnh nh, hoc kim sot mt ngi s dng nh button hoc checkbox. Bn c th
cn phi s dng Show All Available Commands c sn xem cc ty chn khc hn
verifyTextPresent. Mt khi bn chn cc ty chn khc, nhng ngi thng c s
dng s hin th trn menu ng cnh chnh. V d, chn verifyElementPresent cho hnh
5

nh sau s gy ra lnh c sn trn menu ng cnh chnh thi gian tip theo bn
chn mt hnh nh v kch chut phi.
Mt ln na, cc lnh ny s c gii thch chi tit trong chng lnh Selenium.
by gi, mc d cm thy min ph s dng IDE ghi li v chn cc lnh vo
mt trng hp th nghim v sau chy n. Bn c th tm hiu rt nhiu v
Selenium cc lnh n gin bng cch th nghim mc d cc IDE.
4.4.3. Editing
4.5.

Running Test Cases

4.6. Writing a Test Suite


Mt b th nghim l tp hp cc trng hp th nghim c hin th trong
khung bn ngoi cng bn tri trong IDE
Chng 5. SELENIUM-RC
5.1. Introduction
Selen-RC l gii php cho cc kim th m cn nhiu hn cc hnh ng trnh
duyt n gin v dng thc hin. Selen-RC s dng ton b sc mnh ca ngn ng
lp trnh to thm cc xt nghim phc tp nh c v vit cc tp tin, truy vn mt
c s d liu, v gi email cc kt qu th nghim.
Bn s mun s dng bt c khi no Selen-RC th nghim ca bn i hi logic
khng h tr Selen-IDE. iu g logic ny c th c? V d, Selenium-IDE khng
trc tip h tr:

iu kin bo co
Bc lp
ng nhp v kt qu bo co kim th
Error handling, particularly unexpected errors(li c bit bt ng)
Kim tra database
Nhm test case
Thc hin li cc kim th khng thnh cng
Nhng test case ph thuc
Chp nh ca nhng kim th c li

5.2. How Selenium-RC Works


5.1. RC Components

Selenium Server ci m khi ng v ngt b trnh duyt, bin dch v chy


lnh Selenium t chng trnh kim tra v hot ng nh mt proxy HTTP,
ngn chn v kim tra HTTP tin nhn thng qua gia trnh duyt v AUT
ny.
6

Client libraries which provide the interface between each programming


language and the
5.2.1.1.Selenium Server
Selenium Server nhn c lnh t Selenium chng trnh th nghim ca bn,
bin dch n, v bo co li cho chng trnh ca bn kt qu ca vic chy nhng
kim th.
Cc my ch RC b Selenium Core v t ng a n vo trnh duyt
iu ny xy ra khi chng trnh th nghim ca bn m trnh duyt (s dng
mt th vin hm API ca khch hng). Selenium-Core l mt chng trnh
JavaScript, thc s l mt tp hp cc chc nng JavaScript m din gii v thc thi
cc lnh Selenese s dng ca trnh duyt c xy dng trong JavaScript thng dch
vin
The Server receives the Selenese commands from your test program using simple
HTTP GET/POST requests. This means you can use any programming language that
can send HTTP requests to automate Selenium tests on the browser.
5.2.1.2. Client Libraries
Client libraries cung cp s h tr lp trnh cho php bn chy lnh Selenium
t chng trnh ca chnh bn thit k. c cc client library khc nhau h tr cho mi
ngn ng. Mt th vin Selenium cung cp giao din lp trnh(API) ngha l mt tp
hp cc chc nng, m chy lnh Selenium t ctr ca ring bn. trong mi giao din
c mt chc nng lp trnh c h tr mi lnh Selenium.
Cc client library c mt lnh Selenese v chuyn n vo my ch Selenium
mt hnh ng c th hoc th nghim i vi cc ng dng c th nghim (AUT).
Cc th vin khch hng cng nhn c kt qu ca lnh v chuyn n tr li chng
trnh ca bn. Chng trnh ca bn c th nhn c kt qu v lu n vo mt bin
chng trnh v bo co n nh l mt thnh cng hay tht bi, hoc c th c hnh
ng khc phc nu n l mt li khng mong mun.
V vy, to ra mt chng trnh th nghim, bn ch cn vit mt chng
trnh chy mt tp hp cc Selenium lnh bng cch s dng th vin API ca khch
hng. V, ty chn, nu bn c mt kch bn th nghim Selenese to ra trongSelenium IDE, bn c th to ra cc m Selen-RC. Cc Selen-IDE c th dch (s
dng mc trnh n xut khu ca n) lnh ca n Selenium vo cc cuc gi chc
nng iu khin mt my khch ca API. Xem cc chng Selen-IDE cho chi tit c
th v xut khu m t Selenium RC-IDE.
Selenium element

Name
server (attribute)
port (attribute)
defaultBrowser
(attribute)
BrowserUrl
(attribute)
factoryType

addin (element)
runtime (element)

browsers (element)
userExtensions
(element)
5.3.

Description
Server name of the
Selenium RC host
Port number of the
Selenium RC host
Selenium browser
profile to use
Base url for all
selenium tests

Default Value
localhost

Required
false

4444

false

*iexplore

false

null

Type of factory
object used to
create custom
ISelenium instances
- if not supplied, a
default factory is
used (added 0.81)
NUnit addin
settings
Configuration
settings for
Selenium-RC
process
Custom browser
aliases
Custom javascript
extensions

null

true- if not supplied


by WebFixture or
WebTest attribute
true

default

false

default

false

default

false

null

false

Installation

5.3.1. Installing Selenium Server


Selenium-RC server n gin l mt file Java (selen-server.jar), m khng cn
ci t c bit. Ch cn ti file zip v gii nn cc my ch trong th mc mong mun
l
5.3.2. Running Selenium Server

Kim tra bn ci t java bng dng lnh sau


8

java version

Trc khi test bn phi kim tra server, ch ng dn ti th mc cha


Selenium-RCs server sau chy dng lnh sau:
java -jar selenium-server.jar

java -jar selenium-server.jar -log selenium.log

5.3.3. Using the Java Client Driver


Hng dn sau
5.3.4. Using the .NET Client Driver
Download Selenium-RC from the SeleniumHQ downloads page
Extract the folder
Download and install NUnit ( Note: You can use NUnit as your test engine.
If youre not familiar yet with NUnit, you can also write a simple main()
function to run your tests; however NUnit is very useful as a test engine.)
Open your desired .Net IDE (Visual Studio, SharpDevelop, MonoDevelop)
Create a class library (.dll)
Add references to the following DLLs: nmock.dll, nunit.core.dll, nunit.
framework.dll, ThoughtWorks.Selenium.Core.dll, ThoughtWorks.Selenium.
IntegrationTests.dll and Thought-Works.Selenium.UnitTests.dll
Write your Selenium test in a .Net language (C#, VB.Net), or export a script
from Selenium-IDE to a C# file and copy this code into the class file you
just created.
Write your own simple main() program or you can include NUnit in your
project for running your test. These concepts are explained later in this
chapter.
Run Selenium server from console
Run your test either from the IDE, from the NUnit GUI or from the
command line
5.4. From Selenese to a Program
5.4.1. Sample Test Script
V d nh bt u vi test vi s ghi li ca Selenium-IDE
open
type
clickAndWait
assertTextPresent

/
q
btnG
Results * for selenium rc

selenium rc

5.4.2. Selenese as Programming Code


Sau y l test script c export t Selenium-IDE
In C#
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using NUnit.Framework;
using Selenium;

namespace SeleniumTests
{
[TestFixture]
public class Untitled 3
{
private ISelenium selenium;
private StringBuilder verificationErrors;

[SetUp]
public void SetupTest()
{
selenium = new DefaultSelenium("localhost", 4444, "*chrome",
"http://www.google.com.vn/");
selenium.Start();
verificationErrors = new StringBuilder();
}

[TearDown]
public void TeardownTest()
{
10

try
{
selenium.Stop();
}
catch (Exception)
{
// Ignore errors if unable to close the browser
}
Assert.AreEqual("", verificationErrors.ToString());
}

[Test]
public void TheUntitled 3Test()
{
selenium.Open("/");
selenium.Type("q", "");
selenium.Click("btnG");
selenium.WaitForPageToLoad("30000");
Assert.IsTrue(selenium.IsTextPresent("Results
* for selenium rc"));
selenium.Type("q", "ao da nu");
selenium.Click("link=o D thi trang 2010 Hng t/ order - Thi trang N | nBc.com");
selenium.WaitForPageToLoad("30000");

selenium.Click("//table[@id='table1633']/tbody/tr[2]/td[2]/font/a/fo
nt");
selenium.WaitForPageToLoad("30000");

selenium.Click("//table[@id='table1815']/tbody/tr[2]/td[2]/font/a/sp
an/font");
11

selenium.WaitForPageToLoad("30000");

selenium.Click("//table[@id='table1815']/tbody/tr[6]/td[2]/font/a/sp
an/font");
selenium.WaitForPageToLoad("30000");

selenium.Click("//table[@id='table1815']/tbody/tr[3]/td[5]/font/a/sp
an/font");
selenium.WaitForPageToLoad("30000");

selenium.Click("//table[@id='table1820']/tbody[2]/tr[2]/td/div[1]/fo
nt/a/img");
selenium.WaitForPageToLoad("30000");

selenium.Click("//table[@id='table1425']/tbody[2]/tr[4]/td/div[1]/a/
img");
selenium.WaitForPageToLoad("30000");

selenium.Click("//table[@id='table1420']/tbody/tr[9]/td[2]/strong/sp
an/a/font/span");
selenium.WaitForPageToLoad("30000");

selenium.Click("//table[@id='table2643']/tbody/tr[6]/td[2]/font/b/fo
nt/a/span/font");
selenium.WaitForPageToLoad("30000");
}
}
}

5.5. Programming Your Test


5.5.1.C#
Selenium IDE gi nh NUnit l test framework ca bn . bn c th thay i
b trnh duyt trong cu lnh:
12

selenium = new DefaultSelenium("localhost", 4444, "*chrome",


"http://www.google.com.vn/");

Bn c th cho php NUnit qun l thc hin tests ca bn.


5.5.2. Learning the API
Cc Selen-RC API s dng quy c t tn .
5.5.2.1. Starting the Browser
In C#:

selenium = new DefaultSelenium( "localhost" , 4444, "*firefox" ,


"http://www.google.com/" selenium.Start();

5.6. Reporting Results


Selen-RC khng c c ch ring ca mnh bo co kt qu. ng hn, n
cho php bn xy dng cc bo co ca bn ty chnh theo nhu cu ca bn bng cch
s dng cc tnh nng ca ngn ng lp trnh c la chn ca bn. l tuyt vi,
nhng nhng g nu bn ch mun mt ci g nhanh chng lm cho bn?
Thng th mt th vin hin ti hoc khung th nghim c th p ng nhu cu ca
bn nhanh hn so vi pht trin th nghim ca ring bn bo co m.
5.6.1. Test Framework Reporting Tools
Java c 2 test framework l JUnit v TestNG cn .NET c NUnit

5.7. Supporting Additional Browsers and Browser Configurations

Chng 6. NUnit
NUnit l mt framework n v kim nghim cho tt c cc ngn ng
Net.. Ban u c chuyn t JUnit, phin bn sn xut hin nay, phin bn
2.5, l bn th su chnh pht hnh cng c ny da trn th nghim xUnit n
v cho Microsoft. NET. N c vit hon ton bng C # v c hon ton
thit k li tn dng nhiu tnh nng ngn ng NET,. cho cc thuc tnh ty
chnh v kh nng phn x v d khc lin quan. NUnit mang xUnit cho tt c
ngn ng NET
Th nghim thnh cng l mu xanh, vi mt du. Cc xt nghim m s
c b qua c nh du bng mt vng trn mu vng, c cha mt du
hi. Nu bt k th nghim tht bi, h s c nh du mu , vi mt
biu tng-X.
Success l du tch mu xanh
Failure l du cho mu
Ignored(b qua) l du hi mu xm
13

Inconclusive(khng i n kt lun) l du hi mu tm
Skipped(nhy,b) l mu xm
Tab Test Not Run cung cp mt danh sch tt c cc xt nghim c chn
chy nhng khng chy, cng vi cc l do.
Chng 6. SELENIUM COMMANDS
6.1.
Assertion or Verification?
Assertion s khng kim tra v hy b cc trng hp th nghim hin ti
Verify s khng kim tra v tip tc chy cc trng hp th nghim.
6.2.
VerifyTextPresent
VerifyTextPresent c s dng xc nhn vn bn c th tn ti mt ni no
trn trang. S dng verifyTextPresent khi bn quan tm n vn bn ch c bn thn c
mt trn trang. Khng s dng khi bn cng cn phi kim tra vn bn, ni xy ra trn
trang.
To ra t isTextPresent (pattern)
i s:
* pattern - mt m hnh ph hp vi cc vn bn ca trang
Tr v:
ng nu m hnh ph hp vi vn bn, false nu khng
Xc nhn rng cc mu vn bn quy nh xut hin u trn cc trang kt xut
c hin th cho ngi dng.
6.3. verifyElementPresent
To ra t isElementPresent (locator)
i s:
* locator - mt yu t locator
Tr v:
true nu phn t l hin nay, false nu khc
Xc nhn rng cc yu t quy nh l mt ni no trn trang.
S dng lnh ny khi bn phi kim tra s hin din ca mt yu t giao din
ngi dng c th, hn l ni dung ca n. Xc minh ny khng kim tra cc vn bn,
ch c cc tag HTML. Mt thng thng s dng l kim tra s hin din ca mt
hnh nh.
14

6.4.

verifyText
S dng verifyText khi c vn bn v giao din phn t ca n phi c kim tra.
verifyText phi s dng locator. Nu bn chn mt XPath hoc DOM locator, bn c
th verrify rng vn bn c th xut hin ti mt a im c th trn trang web lin
quan n cc thnh phn UI trn trang.
Command
verifyText

target
//table/tr/td/div/p

Value
This is my text and it
occurs right after the div
inside the table.

verifyText (locator, m hnh)


To ra t gettext (nh v)
i s:
* locator - mt yu t locator
Tr v:
cc vn bn ca phn t
Nhn c vn bn ca mt phn t. iu ny lm vic cho bt k yu t c cha
vn bn. Lnh ny s dng c cc textContent (Mozilla, ging nh cc trnh duyt)
hoc innerText (IE nh trnh duyt) ca phn t, l vn bn tr li c hin th cho
ngi dng.
6.5.

Locating Elements

6.5.1.
Locating by XPath
XPath l ngn ng c s dng nh v cc nt trong mt ti liu XML. Nh
HTML c th l mt thc hin ca XML (XHTML), Selenium ngi dng c th tn
dng ngn ng ny mnh m nhm mc tiu cc thnh phn trong cc ng dng
web ca h. XPath m rng hn (cng nh h tr) cc phng php n gin ca cc
v bi thuc tnh id hoc tn, v m ra tt c cc loi kh nng mi nh nh v cc
hp kim th ba trn trang.

15

16

You might also like