CN102713876B - Image capturing device and image acquisition method - Google Patents

Image capturing device and image acquisition method Download PDF

Info

Publication number
CN102713876B
CN102713876B CN201080043087.0A CN201080043087A CN102713876B CN 102713876 B CN102713876 B CN 102713876B CN 201080043087 A CN201080043087 A CN 201080043087A CN 102713876 B CN102713876 B CN 102713876B
Authority
CN
China
Prior art keywords
mentioned
grabgraf
browser
picture
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080043087.0A
Other languages
Chinese (zh)
Other versions
CN102713876A (en
Inventor
高畠勇人
沟口拓治
石桥琢磨
今井久夫
三宅光太郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Publication of CN102713876A publication Critical patent/CN102713876A/en
Application granted granted Critical
Publication of CN102713876B publication Critical patent/CN102713876B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Action verifying attachment (100) comprising: window display position obtaining section (602), for comprising the client region of display web page and being different from the browser window of additional areas of client region, obtains the display position of the browser window on picture; Client region determination portion (606), according to the size of the additional areas in the display position of the browser window on picture and browser window, determines the display position of the client region on picture; Image acquiring section (625), according to the display position on determined picture, carries out grabgraf to the display image of client region.

Description

Image capturing device and image acquisition method
Technical field
The present invention relates to the technology of the image obtaining web page contents shown on picture.
Background technology
In guarantee product quality, the motion test before product export is indispensable.In general, be mostly by Test Engineer's manual operation product and confirm the result of this operation perform an action test.But for operation change (Variation) more rich multifunctional product, manual motion test is just difficult to meet the demands.
Therefore, be mostly by automatically performing the Labor-saving that motion test is sought in motion test with test procedure.Such as, the automatic functional testing instrument " QTP (Quick Test Professional) " that HP (Hewlett-Packard) company provides is exactly realize the robotization of motion test by performing the homemade test procedure of user.
(at first technical literature)
(patent documentation)
(patent documentation 1) Japanese Unexamined Patent Publication 2004-227396 publication
Summary of the invention
(inventing problem to be solved)
In the motion test of web application external device (ED) being provided to the web page server of web page contents and work on this web page server, sometimes to carry out grabgraf to the image of the web page contents be shown on external device (ED).Then, by being confirmed this grabgraf image by Test Engineer, the normality of action is confirmed.
But when using various web browser to carry out the motion test of product, the display format of starting the window (also claiming " browser window " below) of web browser is different because of web browser.Therefore, the present inventor recognizes that when making different web browsers show identical web page contents, browser window entirety seems different sometimes, can reduce the efficiency of motion test.
The invention that the present invention is above-mentioned problem understanding based on the present inventor and completes, its fundamental purpose is the technology providing a kind of display image for obtaining the high web page contents of convenience in motion test.
(for solving the means of problem)
For solving above-mentioned problem, the image capturing device of the present invention's scheme comprises: the window's position obtaining section, for comprising the client region of display web page and being different from the browser window of additional areas of client region, obtain the display position of the browser window on picture; Picture position determination portion, according to the size of the display position of the browser window on picture, the additional areas of browser window, determines the display position of the client region on picture; Image acquiring section, according to the display position on the determined picture of picture position determination portion, carries out grabgraf to the display image of client region.
Another program of the present invention is a kind of image acquisition method.The method is performed by image capturing device, comprising: for comprising the client region of display web page and being different from the browser window of additional areas of client region, obtain the step of the display position of the browser window on picture; According to the size of the display position of the browser window on picture and the additional areas of browser window, determine the determining step of the display position of the client region on picture; And according to the display position on picture determined in determining step, the display image of client region is carried out to the step of grabgraf.
Certainly, by the combination in any of above inscape, the embodiment of the form of expression of the present invention between device, method, system, program, the recording medium that has program stored therein etc. after conversion, be also effective as the solution of the present invention.
(invention effect)
By the present invention, the display image of the web page contents that convenience is high in motion test can be obtained.
Accompanying drawing explanation
(a) of Fig. 1 is the picture figure of portal site first picture.
(b) of Fig. 1 is the picture figure of portal site second picture.
Fig. 2 is the figure of the daily record represented when performing dictionary test.
Fig. 3 is the figure of the program represented for performing dictionary test.
Fig. 4 is the functional block diagram of action verifying attachment.
Fig. 5 is to obtaining daily record and the schematic diagram of the test that performs an action.
Fig. 6 is the picture figure of daily record picture.
Fig. 7 is the picture figure of function sets picture.
Fig. 8 is the picture figure of program picture.
Fig. 9 is the picture figure of input setting screen.
Figure 10 is the picture figure of example setting screen.
Figure 11 is the figure of the summary representing the action verifying attachment of reference technique 1 and the action verifying attachment formation separately of reference technique 2.
Figure 12 is the figure of the summary representing the action verifying attachment of reference technique 1 and the action verifying attachment action separately of reference technique 2.
Figure 13 is the block diagram that the function of the action verifying attachment representing reference technique 2 is formed.
Figure 14 be in reference technique 2, to detect user data entry operation and perform an action test synoptic diagram.
Figure 15 is the picture figure of the function sets picture in reference technique 2.
Figure 16 is the picture figure of the function sets picture in reference technique 2.
Figure 17 is the picture figure of the input setting screen in reference technique 2.
Figure 18 is the picture figure of the example setting screen in reference technique 2.
Figure 19 is the figure of the feature of the two kinds of modes of operation represented for web browser.
Figure 20 is the figure of the call relation under being shown schematically in two modes of operation for web browser, between function.
Figure 21 is the block diagram that the function of the action verifying attachment representing reference technique 3 is formed.
Figure 22 is the block diagram of the details of the program execution department representing Figure 21.
Figure 23 is the process flow diagram of the action of the action verifying attachment representing reference technique 3.
Figure 24 is the figure schematically showing call relation between the function in the motion test of webpage.
Figure 25 is the figure representing the data example stored in Selenium window manager.
Figure 26 is the figure of the mode of the operation of the FF dialog box represented for Figure 24.
Figure 27 is the figure of the mode of the operation of the Safari dialog box represented for Figure 24.
Figure 28 is the block diagram that the function of the action verifying attachment representing reference technique 4 is formed.
Figure 29 is the block diagram of the details of the program execution department representing Figure 28.
Figure 30 is the process flow diagram of the action of the action verifying attachment representing reference technique 4.
Figure 31 is the process flow diagram that the test procedure of the S402 representing Figure 30 in detail reads in process.
Figure 32 is the process flow diagram of the web browser start up process of the S419 representing Figure 30 in detail.
Figure 33 is the process flow diagram of the web page operation process of the S426 representing Figure 30 in detail.
Figure 34 is the process flow diagram of the Mac operational processes of the S452 representing Figure 33 in detail.
Figure 35 is the process flow diagram of the IE operational processes of the S458 representing Figure 33 in detail.
Figure 36 is the process flow diagram of the FF operational processes of the S462 representing Figure 33 in detail.
Figure 37 is the figure of the indication example of the web page contents represented in browser window.
Figure 38 is the figure of the grabgraf image of the browser window representing Figure 37.
Figure 39 is the block diagram that the function relevant to the process of picture grabgraf represented in the 1st embodiment is formed.
Figure 40 is the figure representing the function that agent processes portion provides to evidence thing configuration part.
Figure 41 is the process flow diagram of the action of the image grabgraf process represented in action verifying attachment.
Figure 42 is the process flow diagram that the framework display position of the S606 being shown specifically Figure 41 is determined to process.
Figure 43 is the figure of the indication example of the web page contents represented in browser window.
Embodiment
Before the action verifying attachment that present embodiment is described, first by reference to technology 1, reference technique 2, reference technique 3, reference technique 4, the structure becoming its prerequisite is described.
(reference technique 1)
(a) of Fig. 1 is the picture figure of portal site first picture 300.
In reference technique 1, illustrate with portal site " XYZ! " be the motion test of object.Portal site first picture 300 comprises edit box 302 and retrieval link 304.Retrieval link 304 comprises " webpage ", " blog ", " image ", " dictionary " these four links.User input of character string mouse in edit box 302 after to click in retrieval link 304 some, just start retrieved of input of character string.Such as input of character string " liquid crystal " in edit box 302, and time mouse clickthrough " webpage ", the website comprising character string " liquid crystal " just becomes searching object.And if in edit box 302 input of character string " liquid crystal " mouse clickthrough " blog ", then the blog page comprising character string " liquid crystal " in the blog (Weblog) offered in this portal site just becomes searching object.
At this, assuming that have input character string " test " in edit box 302, and mouse clicks link " dictionary ".
(b) of Fig. 1 is the picture figure of portal site second picture 310.
In portal site first picture 300 input " test " and mouse click " dictionary " after, portal site second picture 310 represented by (b) of Fig. 1 is just revealed." dictionary " service provided by this portal site, the object be associated with this character string " test " is enumerated in result for retrieval hurdle 306.
Here, assuming that mouse clicks the uppermost link " test (test) " on result for retrieval hurdle 306.
In above process, three operations shown below are carried out.
A1. the operation of input of character string " test " in the edit box 302 of portal site first picture 300.
A2. mouse clicks the operation of the link " dictionary " in the retrieval link 304 of portal site first picture 300.
A3. mouse clicks the operation of the link " test (test) " in the result for retrieval hurdle 306 of portal site second picture 310.
Below, the course of action operation by above-mentioned A1 ~ A3 realized is called " dictionary test ".
Fig. 2 is the figure of the daily record 320 represented when performing dictionary test.
The client terminal being imported into the QTP of Hewlett-Packard Corporation in operation visits above-mentioned portal site, and when performing the operation of A1 ~ A3, QTP generates the daily record 320 shown in Fig. 2.Operation A1 ~ A3 is recorded in daily record 320 by the code literary composition as predetermined format.
Such as, operate A1 to be expressed as
Browser (" XYZ! ") .Page (" XYZ! ") .WebEdit (" p ") .Set " test "
Such code literary composition.It is meant to " XYZ! " website, name be called " " webpage, name be called that the edit box (being equivalent to the edit box 302 shown in (b) of (a) of Fig. 1, Fig. 1) of " p " have input character string " test ".
Equally, operate A2 to be shown as
Browser (" XYZ! ") .Page (" XYZ! ") .Link (" dictionary ") .Click
Operation A3 is shown as
Browser (" XYZ! ") .Page (" XYZ!-all dictionary-test ") .Link (" test (test) ") .Click
Such code literary composition.In reference technique 1, be described based on the grammer of QTP, but the form of code literary composition is not limited to this.
QTP can explain that the code literary composition of daily record 320 is while reproduce the operation expressed by actuating code literary composition.Therefore, once generate daily record 320, just can repeat arbitrarily the dictionary test of same content secondaryly.In addition, as long as rewrite a part for daily record 320, just can with content when being different from manual operation to perform dictionary test.Such as, will
Browser (" XYZ! ") .Page (" XYZ! ") .WebEdit (" p ") .Set " test "
Middle comprised character string " test " is altered to other character string and " surveys-examination ", is rewritten into
Browser (" XYZ! ") .Page (" XYZ! ") .WebEdit (" p ") .Set " survey-examination "
And be input in QTP, then can automatically perform the dictionary test of the same content of the input of character string only changing edit box 302.
But, daily record 320 ground be rewritten and to perform an action test, need the grammer for daily record 320 to have knowledge to a certain degree.In addition, the mistake of artificial property likely can be there is when rewriting daily record 320.
Fig. 3 is the figure of the program 330 represented for performing dictionary test.
Also can not to be performed an action test by daily record 320, but by performing test procedure by the descriptions such as VB (Visual Basic) script and the equal content of daily record 320.Program 330 shown in Fig. 3 is daily record 320 with reference to Fig. 2 and the test procedure that is compiled into.
Such as, operate A1 to be expressed as
WebEditSet(Browser("XYZ!").Page("XYZ!").WebEdit("p"),DataTable("p1,dtGlobalSheet")
Such VB function.The concrete logic of WebEditSet function as in the middle part of this figure describe.
Do not comprise in the such input data this point of character string " test " in program 330, program 330 is different from daily record 320.Means as an alternative, WebEditSet function accepts input data from the file being expressed as dtGlobalSheet (calling in the following text " input data file ").That is, logical and input data are separated.By rewriting or the replacement of input data file, the dictionary test of same logic can be performed based on various input data.With based on manual motion test or based on daily record 320 motion test compared with, the motion test based on program 330 has the such advantage of change being easy to increase input data.
But, in the motion test based on program 330, there is following problem.
D1. the time of new cost programming is needed.
D2. different according to program builder, the content of program can change.Such as, the WebEditSet function that programmer P1 works out for operation A1 for the WebEditSet function and programmer P2 that operate A1 establishment, even if function name is identical, logic also may not be identical.In addition, program itself has also likely been mixed into leak (bug).Therefore, the measure of the reliability for guaranteeing program 330 self is just needed.In addition, also need Exception handling etc. and motion test there is no the logic of direct relation in program 330, but all programmers all may not can enroll the logic considering Exception handling.Such as when the WebEditSet function shown in Fig. 3, enrolled and can tackle the logic that input data are the situation of null character (NUL), but other programmers may miss such consideration when working out WebEditSet function.
As a result, the content results of motion test is easily subject to the impact of the level of programmer.
Fig. 4 is the functional block diagram of action verifying attachment 100.
For this instructions block diagram shown in each functional block, hardware can realize with the elements such as the CPU of computing machine or mechanical hook-up, software can be realized by computer program etc., at this, the functional block that the combination being described through them realizes.Therefore, those skilled in the art can be realized by the combination of hardware, software in a variety of forms when understanding these functional blocks.Such as, each functional block can store in the recording medium as computer program, by being installed in the hard disk of signal conditioning package, and being in time read into primary memory and being executed by processor.
Action verifying attachment 100 can be formed specialized hardware, also can be formed the software module of web browser etc. and user interface collaboration.
As the action verifying attachment 100 with reference to technology 1, the situation of the software module of its add-on assemble being formed QTP (add-on) is described.
Action verifying attachment 100 comprises IF (interface) portion 110, data processing division 130 and data retention portion 140.
IF portion 110 is responsible for the interface with user, QTP.Data processing division 130 based on from IF portion 110, the data that obtain of data retention portion 140 perform various data processing.Data processing division 130 also plays the effect of the interface between IF portion 110 and data retention portion 140.Data retention portion 140 is the storage areas for keeping various data.
IF portion 110:
IF portion 110 comprises input part 112 and efferent 118.Input part 112 is responsible for the input processing from user and QTP, and efferent 118 is responsible for the output processing to user and QTP.Input part 112 comprises daily record obtaining section 114 and input data acquisition 116.Daily record obtaining section 114 obtains daily record from QTP.Input data acquisition 116 obtains input data file, and obtains the input data that will be supplied to program from input data file.About the details of input data file, composition graphs 5 and Fig. 9 are described in detail.
Efferent 118 comprises function sets picture display part 120, input setting screen display part 122, program picture display part 124 and example setting screen display part 126.Function sets picture display part 120 makes the function sets picture 210 shown in Fig. 7 show.Input setting screen display part 122 makes the input setting screen 230 shown in Fig. 9 show.Program picture display part 124 makes the program picture 220 shown in Fig. 8 show.Example setting screen display part 126 makes the example setting screen 240 shown in Figure 10 show.
Data processing division 130:
Data processing division 130 comprises Program Generating portion 132, program execution department 134 and test case logging unit 136.Program Generating portion 132 generates the program of motion test automatically.Program execution department 134 makes be generated program perform.In reference technique 1, be make QTP executive routine.Test case logging unit 136 logs in performing collection (set) in example file.About execution collection and example file, will be described in detail in conjunction with Figure 10.
Data retention portion 140:
Data retention portion 140 comprises daily record maintaining part 142, program maintaining part 144, input data file maintaining part 146, example file maintaining part 148, function maintaining part 150 and result maintaining part 152 (also claiming " test result maintaining part 152 " below).Daily record maintaining part 142 keeps daily record.Program maintaining part 144 keeps program.Input data file maintaining part 146 keeps input data file.Example file maintaining part 148 keeps example file.Function maintaining part 150 keeps the function library of the function that can be logged in the program of motion test.Result maintaining part 152 keeps the result of motion test.
Fig. 5 is to obtaining daily record and the schematic diagram testing that performs an action in reference technique 1.
First, the subject machine of manual operation motion test.In reference technique 1, the web browser of operated client terminal, access entrance website " XYZ! ".QTP generates daily record, and daily record obtaining section 114 obtains daily record from QTP.The function foundation in advance of various code literary composition has corresponding relation.The function library of function sets picture display part 120 function reading maintaining part 150, and the function corresponding with each code literary composition comprised in daily record is had a guide look of show (S1).In function sets picture display part 120, user can add as required, changes, delete function.Like this, should just be determined by involved function in a program.About S1, will describe in detail below in combination with Fig. 7.
Next, setting should be supplied to the input data (S2) of this program.Setting content is logged with the form of input data file.About S2, composition graphs 9 is described in detail below.Based on the function group automatically generating program (S3) set in S1.About S3, composition graphs 8 is described in detail below.
Next, based on multiple programs and multiple input data file, the combination of program and input data file is logged in as " performing collection ".Also can log in and multiplely perform collection (S4).Setting content is logged in by with the form of example file.Such as, when wanting to make after based on input data file F2 executive routine P1 again based on input data file F6 executive routine P2, by with
Perform collection 1: program P1+ input data file F2
Perform collection 2: program P2+ input data file F6
Form sign in in example file.About S4, will describe in detail in conjunction with Figure 10.
Finally, according to example file executive routine (S5).In the case of the above-described example, program execution department 134 makes execution collection 1 and performs collection 2 to perform continuously.Program execution department 134 by the execution result of program, be in other words that test result is signed in in result maintaining part 152.
Fig. 6 is the picture figure of daily record picture 200.
After daily record obtaining section 114 obtains daily record, efferent 118 makes daily record picture be presented at journal displaying region 202 in daily record picture 200.The daily record reproduction of QTP also can to paste in journal displaying region 202 by user.Or, also can be efferent 118 obtains QTP and generates daily record (file) when daily record picture 200 shows, and make it picture and be presented in journal displaying region 202.After user's mouse clicks executive button 204, the function sets picture 210 shown in ensuing Fig. 7 is revealed.
Fig. 7 is the picture figure of function sets picture 210.
Function determined in the code literary composition that Program Generating portion 132 comprises for daily record, and the function guide look determined is presented in the function hurdle 214 of function sets picture 210.Numbered bin 212 represents execution sequence, and the summary description of hurdle 216 representative function is described, object hurdle 218 represents the object (object) of operand, and variable hurdle 219 represents variable name, and input value hurdle 217 represents input data.
For the aforesaid code literary composition representing operation A1
Browser (" XYZ! ") .Page (" XYZ! ") .WebEdit (" p ") .Set " test "
, WebEditSet function has corresponding relation with its foundation in advance in function library.After Program Generating portion 132 reads first code literary composition of daily record 320, with reference to the function library of function maintaining part 150, determine WebEditSet function.Because operation A1 in by as operand to as if " Browser (" ") .Page (" XYZ! ") " page, so be set to " Browser (" in object hurdle 218 XYZ! ") .Page (" XYZ! ") ".WebEditSet function is the input data be set in edit box p (edit box 302) is the function of independent variable.Although also the input data that should be set in edit box p can be set in input value hurdle 217, suppose that the situation not logging in input data in function sets picture 210 is described here.The input data that should be set in edit box p are set in the input setting screen 230 described in detail by composition graphs 9.
Owing to including three code literary compositions, so Program Generating portion 132 determines three functions with corresponding to operation A1 ~ A3 in daily record 320.User also can add, deletes, change function in function sets picture 210.The 4th TextCheck function in Fig. 7 and the 5th WebScreenCapture function are the functions that user adds selection.
TextCheck function is the function whether comprising the character string being assigned variable q in the webpage judging showing.WebScreenCapture function is the function webpage shown being carried out to picture grabgraf.Carrying out card mark management aspect to the result of motion test, WebScreenCapture function is function very easily.Like this, in function library, not only have the function corresponding with the operation of user that WebEditSet function is such, also have the function for auxiliary support motion test that TestCheck function is such.As long as user selects desired function from function library, just the logic wanting to be included in motion test can be set.
When test case setting button 215 is clicked, the example setting screen 240 of Figure 10 is revealed.When input data file generation button 213 is clicked, the input setting screen 230 of Fig. 9 is revealed.When Program Generating button 211 is clicked, the program picture 220 of Fig. 8 is revealed.
Action verifying attachment 100 tool of reference technique 1 has the following advantages.
M1. only based on GUI (Graphical User Interface: graphical user interface) choice function, the logic wanting to comprise in a program can just be selected.Need hardly to spend the time for programming.
M2. involved function is in a program the function be registered in function library, so be difficult to the deviation occurring program quality because organizer is different.The logic that Exception handling etc. are necessary has also been enrolled in each function in advance.
Fig. 8 is the picture figure of program picture 220.
In function sets picture 210, if Program Generating button 211 is clicked by mouse, then Program Generating portion 132 generator program, in the program display region 222 that program picture display part 124 makes its source code be presented in program picture 220.Program is maintained in program maintaining part 144.
Fig. 9 is the picture figure of input setting screen 230.
In function sets picture 210, clicked by mouse if input data file generates button 213, then input setting screen display part 122 and input setting screen 230 is shown.In function sets picture 210, variable p and q has been defined.Numbered bin 232 represents input sequence, and variable hurdle 234 represents the input data to variable p, and variable hurdle 236 represents the input data to variable q.In input setting screen 230, setting wants assignment to the input data of this variable p and q.Each input data are remained in input data file maintaining part 146 by as input data file.
If such as give and the input data file of the form shown in program 330 Fig. 9, then as
1. character string " test " is input in edit box 302 and retrieves dictionary, and judge the test whether including character string " test " in the picture of expression execution result
2. character string " test " is input in edit box 302 and retrieves dictionary, and judge the test whether including character string " test " in the picture of expression execution result
3. character string " test case " is input in edit box 302 and retrieves dictionary, and judge the test whether including character string " test " in the picture of expression execution result
Like this, the multiple dictionary tests based on different input data are performed continuously.
Figure 10 is the picture figure of example setting screen 240.
In function sets picture 210, if test case setting button 215 is clicked by mouse, then example setting screen display part 126 makes example setting screen 240 show.Numbered bin 244 represents execution sequence, and perform collection hurdle 245 and represent the summary performing collection, programs column 246 represents the program becoming and perform object, and input data file hurdle 247 represents the input data file of the extraction object becoming input data.
Here, with the website of the online securities for motion test object is described.
In the figure, 1. login (login), 2. check news, 3. sell stock, 4. sell bond, 5. change of residence, 6. exiting (logout) these six, to perform collection logged.First, QTP is based on program " login.vbs " generation " login " project.Here so-called " project ", be the catalogue of the execution formatted file group comprising QTP.QTP is that input is to perform predefined process in login.vbs and login.xls with " login " project.If user's mouse clicks executive button 248, then performed " login " project that collection " logins " before this and be performed.First performs after collection " logins " and complete, and " check news " as performing collection, " ncheck " project is performed.
Like this, after executive button 248 is clicked by mouse, 1. login (login), 2. check news, 3. sell stock, 4. sell bond, 5. change of residence, 6. exit (logout) these six perform collection be performed continuously.Thereby, it is possible to will based on " first login, institute's share-holding ticket and bond of holding are sold in instruction after checking news, then at change residence backed off after random " such motion test robotization testing drama (scenario).
User freely can make test drama in example setting screen 240.Such as can log in and perform collection and " buy in stocks " to replace and perform collection and " sell stock ", in addition, as the input data file performing collection and " sell stock ", also can not log in " stock1.xls " but log in other input data file.The test drama logged in example setting screen 240 by as example file record, and is maintained in example file maintaining part 148.
By little by little changing the test formation of drama or input data file etc., be easy to the change expanding motion test.
Be explained above the action verifying attachment 100 of reference technique 1.
By action verifying attachment 100, can separable programming with input data, process and variable namely can be made to be separated.Further, its program that will use can automatically be generated based on the setting of gui interface.Thereby, it is possible to both guaranteed the diversity of the logic comprised in a program, stay-in-grade program can be generated simply again.In addition, because the content only changing input data file just can change the content of motion test, so be easy to the change expanding motion test.
And then, making test drama by being logged in by execution collection in example file, realizing while existing program can be combined the motion test under various situation.In addition, owing to not only having the such function for operational testing subject machine of WebEditSet function, also have the function for auxiliary movement test that WebScreenCapture function is such, so be easy to the efficiency and the reliability that improve motion test further.
(reference technique 2)
In reference technique 2, propose a kind of to the action verifying attachment 100 after above-mentioned reference technique 1 improvement.
First, the action verifying attachment 100 of action verifying attachment 100 in reference technique 1 and reference technique 2 is compared so that the summary of the action verifying attachment 100 of reference technique 2 to be described.
The action verifying attachment 100 that Figure 11 represents the action verifying attachment 100 of reference technique 1 and reference technique 2 separately in the summary of formation.As shown in (a) of Figure 11, the action verifying attachment 100 of reference technique 1 has wrapper (Wrapper) module 104 of the QTP module 102 as the enforcement engine of motion test and the motion test high efficiency for the web page server 400 that makes make use of QTP module 102.This wrapper module 104 comprises each functional block shown in Fig. 4.
In (a) of Figure 11, user operates the web page server 400 (S100) as the object apparatus of confirming operation by QTP module 102.Wrapper module 104 obtains the daily record recording its content of operation from QTP module 102, function sets picture 210 is supplied to user (S102).User, when motion test performs, makes in wrapper module 104, generate the readable motion test program of QTP module, and makes QTP module 102 perform this program (S104).
Unlike this, the action verifying attachment 100 of the reference technique 2 shown in (b) of Figure 11 has the integration inspection module 106 of the function of the enforcement engine of integration motion test and the function of wrapper module 104.User is by (S200) during integration inspection module 106 operation web page server 400, integration inspection module 106 successively detects its content of operation, the data of setting function sets picture 210, and function sets picture 210 is supplied to user (S202).User, when the test that performs an action, makes to generate in integration inspection module 106 and the program used for test that performs an action (S204).
The action verifying attachment 100 that Figure 12 represents the action verifying attachment 100 of reference technique 1 and reference technique 2 separately in the summary of action.(a) of Figure 12 indicates the summary of the action in the action verifying attachment 100 of reference technique 1.User performs the data entry operation (S110) to web page server 400, and QTP module 102 exports the daily record (S112) that have recorded its content of operation.User is by the predetermined input area (S114) of the data Replica of this daily record to QTP module 102.Wrapper module 104 is based on the data of the daily record be set in predetermined input area, setting function sets picture also makes it to show (S116), and user sets function input data (S118) that should add, change by this function sets picture.
Wrapper module 104 is used for the QTP of motion test with program (S120) based on the data genaration of function sets picture.User is by the predetermined input area (S122) of QTP program copy to QTP module 102.User sets with QTP program and input data file as collection (set) and the drama (S124) of motion test of specifying in example setting screen.The collection of QTP program and input data file, based on this drama, is given QTP module 102 by wrapper module 104, makes motion test perform (S126) by each collection.
(b) of Figure 12 indicates the summary of the action in the action verifying attachment 100 of reference technique 2.User performs the data entry operation (S210) to web page server 400.Integration inspection module 106 successively detects its data entry operation, is recorded in content of operation file by the function corresponding with data entry operation, and in function sets picture, show the record data (S212) of this content of operation file.The function that user should be added by this function sets picture, change and input data setting (S214) in content of operation file.Then, user sets the drama (S216) of the motion test of specifying as collection with content of operation file and input data file in example setting screen.Integration inspection module 106 generates more than one the motion test program collected in intensive drama based on this drama and performs (S218).
Like this, in the action verifying attachment 100 of reference technique 1, QTP module 102 is separated with wrapper module 104.Therefore, for making two modules connect, need user oneself to perform intermediary's operation.In addition, wrapper module 104 to need for each collection in drama, to call QTP module 102, to need to perform to make program used for test by each collection.
Unlike this, in the action verifying attachment 100 of reference technique 2, the enforcement engine of motion test and the wrapper realizing its efficiency utilization are not separated, but by seamlessly integration together.Therefore, compared with the action verifying attachment 100 of reference technique 1, originally for making the module be separated connect and required user job becomes and no longer needs, the workload for the user of motion test reduces.In addition, owing to being generate motion test program intensive for the multiple collection in drama, and a succession of drama is performed by the execution of this program, so motion test rapidly can be realized.
Figure 13 is the block diagram that the function of the action verifying attachment 100 representing reference technique 2 is formed.The functional block of this figure is comprised in the integration inspection module 106 shown in (b) of Figure 11.Functional block corresponding with the functional block of reference technique 1 in the functional block of reference technique 2 has been marked identical label.About the functional block imparting label identical with the functional block of reference technique 1, be only described when its function is different from content already described in reference technique 1, for same function, the description thereof will be omitted.
Data retention portion 140 has content of operation file maintaining part 143, program maintaining part 144, input data file maintaining part 146, example file maintaining part 148, function maintaining part 150.Content of operation file maintaining part 143 has the content of operation file of the function that should be set in motion test program for stored record.Program maintaining part 144 stores the motion test program generated by content of operation file.
The input part 112 in IF portion 110 has operation detection part 115 and user sets receiving unit 117.Operation detection part 115 successively detects the data entry operation of user to web page server 400.User sets receiving unit 117 and detects the set information of user to function sets picture 210, input setting screen 230, example setting screen 240.
The efferent 118 in IF portion 110 has function sets picture display part 120, input setting screen display part 122, example setting screen display part 126.Function sets picture display part 120 makes function sets picture 210 be presented in predetermined display device, and this function sets picture 210 is for showing the content of the content of operation file be recorded in content of operation file maintaining part 143.
Data processing division 130 has Program Generating portion 132, program execution department 134, test case logging unit 136, operation note portion 137, input data recording section 138.Operation note portion 137 determines the function corresponding with the data entry operation be detected in operation detection part 115 with reference to function maintaining part 150, is recorded in content of operation file by this function.In addition, the set information of user to function sets picture 210 is recorded in content of operation file by operation note portion 137.The input data that user is inputted by input setting screen 230 are recorded in input data file by input data recording section 138.Program Generating portion 132 generates motion test program according to the function be recorded in content of operation file.Program execution department 134 as the enforcement engine of motion test and the program used for test that performs an action, and by its outcome record in result maintaining part 152.
Figure 14 is to detecting the data entry operation of user and the schematic diagram the test that performs an action in reference technique 2.First, the web browser accessed web page server 400 of user operation client terminal, performs the various operations to web page server 400, typically performs the data entry operation to the webpage that web page server 400 provides.Operation detection part 115 successively detects the data entry operation of user, the function library of operation note portion 137 function reading maintaining part 150, the function corresponding with this data entry operation is successively recorded to (S220) in content of operation file.
Next, the content of operation file of function sets picture display part 120 read operation content file maintaining part 143, makes the function sets picture of the guide look display function corresponding with the operation of user show.In function sets picture, user can add as required, changes, delete function, and can set the input data that should be set in statically in motion test program.Like this, the function that should be included in motion test program is just determined.About function sets picture, will describe later in conjunction with Figure 15 and Figure 16.
Next, inputting setting screen display part 122 makes input setting screen 230 show.User dynamically should be supplied to the input data of motion test program by the setting of input setting screen 230 when motion test performs.Input data set by user are recorded in (S222) in input data file.About input setting screen 230, will describe later in conjunction with Figure 17.
Next, example setting screen display part 126 makes example setting screen 240 show.The combination of content of operation file and input data file, based on multiple content of operation file and multiple input data file, logs on as and performs collection by user.More than one execution collection is recorded in (S224) in example file by test case logging unit 136.Such as, in test case 1, to after make the setting content of content of operation file F01 perform based on input data file F12, then based on input data file F16, the setting content of content of operation file F02 is performed, then with
Test case 1:
Perform collection 1: content of operation file F01+ input data file F12
Perform collection 2: content of operation file F02+ input data file F16
Form sign in in example file.About example setting screen 240, will describe later in conjunction with Figure 18.
Next, Program Generating portion 132 based on example file and the motion test of content of operation file generated with program (S226).Specifically, by being sequentially recorded in the function performed in the content of operation file set by collecting, the program code of motion test program can be set as successively.In addition, when being set with multiple execution collection in a test case, Program Generating portion 132 is set to a motion test program by intensive for the function be recorded in each content of operation file performing collection.
In addition, when the function sets for content of operation file has input data itself, this input data inactivity is set in motion test program by Program Generating portion 132.Such as, when generating motion test program, preset input data as the argument of function in this program code.In addition, when the function appointment for content of operation file has input data file, carry out setting the data making to read in this input data file when program performs.
Finally, program execution department 134 performs an action program used for test, reproduces the sequence of operations (S228) that user performs web page server 400.For the function of data needing input data file, the data of the input data file read in when motion test program being performed pass to it as independent variable.That is, function is performed based on the input data dynamically obtained from input data file.
Figure 15 is the picture figure of function sets picture 210.The figure shows the function sets picture 210 shown " .xls is charged in retrieval " described in the Figure 18 below.Data file row name (column name) hurdle 250 is the regions of the row name being used to specify input data file, and this input data file records the input data that will be set to variable.User can describe input data itself in input value hurdle 217, also like this, but can not specify the row name of input data file in data file row name hurdle 250.When there being the row name of input data file to be designated in data file row name hurdle 250, when motion test program performs, the more than one input data be set in the row of this input data file can be read and pass to function.
Figure 16 is the picture figure of the function sets picture 210 in reference technique 2.In the input value hurdle 217 of " search part signature " variable of this figure, the candidate of input data is had a guide look of display by with drop-down list 252.Input data candidate shown in drop-down list 252 is the input data candidate be displayed on when user carries out data input to webpage in the drop-down list of this webpage.User can select to input data from drop-down list 252, can alleviate the burden of user in setting input data procedures.
For setting drop-down list 252, operation detection part 115 obtains the candidate being presented at the input data in the drop-down list of this webpage when user carries out data entry operation to webpage.Such as, based on data, the such as html data of the webpage obtained from web page server 400, obtain the input data candidate in drop-down list.Operation note portion 137 by this input data candidate record in the input value hurdle 217 of content of operation file.Function sets picture display part 120 has an input during on input value hurdle 217, the input data candidate be recorded in content of operation file is shown with the guide look of the form of drop-down list.
Figure 17 is the picture figure of the input setting screen 230 in reference technique 2.(a) of Figure 17 illustrates input setting screen 230, and this input setting screen 230 is presented at the input data file " retrieval data-in .xls " being designated row name in the function sets picture 210 of Figure 15 and Figure 16.In Figure 15 and Figure 16, " name Chinese character " row and " name pronunciation " row of (a) of Figure 17 have been designated.(b) of Figure 17 illustrates the input setting screen 230 showing another input data file and " login data 2.xls ".About the input data file of this figure, will describe later in conjunction with Figure 18.
Figure 18 is the picture figure of the example setting screen 240 in reference technique 2.Perform in numbered bin 253 and be set each basic execution sequence performing collection, in test case ID hurdle 254, be set the identifying information of test case.Be set the identifying information of the group representing the re-treatment performing collection in group (group) ID hurdle 256, in line number hurdle 258, be set the reference scope of the input data file in motion test.Content of operation body guoup 260 is set the content of operation file that each execution is concentrated, and input data file hurdle 262 is set each input data file performing collection.Setting content in example setting screen 240 is stored in example file maintaining part 148 by as example file.
When in example setting screen 240, test execution button 264 is pressed, Program Generating portion 132 is according to example file and content of operation file generated motion test program.Specifically, based on the more than one content of operation file being set same test example ID in example file, generate function that each content of operation file records be set to program code after a motion test program.Such as, Program Generating portion 132, according to the example file of content of example setting screen 240 recording Figure 18, generates for performing a motion test program logging in example and a motion test program for performing retrieval example.So-called " a motion test program ", being meant to by the program performed as an executable unit, is in other words the program be performed in an execution machine meeting, has nothing to do with its program quantity physically.
Program execution department 134 when performing in each content of operation file the function recorded, by the data of the input data file corresponding with this content of operation file, the data of corresponding with this function in content of operation file row pass to this function.
In addition, the multiple execution collection being endowed identical group of ID in same test case process as identical group that should perform identical re-treatment by program execution department 134.Specifically, repeat the multiple execution performing collection being endowed identical group of ID, when repeating at every turn, be recorded in the record (record) of the predetermined quantity in input data file to the function passes be recorded in each content of operation file performing collection.In reference technique 2, assuming that one that is recorded in input data file record (record) is passed to function when repeating at every turn.In addition, the motion test the program iterated command being used for performing above-mentioned process be set in program code can also be generated in Program Generating portion 132.
In addition, for the execution collection being designated line number, program execution department 134 passes to the determined input data of this line number the function recorded in this content of operation file by input data file.Therefore, be designated the re-treatment based on group ID, and when being designated line number further, just repeating the number of times specified by line number.Such as, in the login example of Figure 18, not having to set the group across performing collection, concentrating the process being performed an input data volume in each execution.Unlike this, in the retrieval example of Figure 18, each process performing the input data volume concentrated is repeatedly executed three times.
Specifically, in primary repetition, the data " t_yamada " logining the 35th row of data 2.xls are delivered to the function logined and record in 2.xls.Further, the data " hillside plot Taro " retrieving the 1st row name Chinese character of data-in .xls are delivered to the function that the No1 of function, the specifically Figure 15 recorded in .xls is charged in retrieval.In addition, the data " ヤ マ ダ タ ロ ウ " retrieving the 1st row name pronunciation of data-in .xls are delivered to the function of the No2 of Figure 15.
In secondary repetition, the data " h_yamada " logining the 36th row of data 2.xls are delivered to the function logined and record in 2.xls.Further, the data " hillside plot beggar " retrieving the 2nd row name Chinese character of data-in .xls are delivered to the function that the No1 of the Figure 15 recorded in .xls is charged in retrieval.In addition, the data " ヤ マ ダ Ha Na コ " retrieving the 2nd row name pronunciation of data-in .xls are delivered to the function of the No2 of Figure 15.
Also be the same in the repetition of third time, the input data in the line number after increasing progressively are delivered to each function.
In the action verifying attachment 100 of reference technique 2, also can play the effect illustrated in reference technique 1.Specifically, owing to achieving being separated and based on the setting of GUI, so the diversity of the logic be included in motion test program both can be guaranteed, stay-in-grade program being generated simply again of process and variable.In addition, by the setting of input data file, the change of easily expansion motion test.In addition, by the setting of example file, the motion test under various drama can be realized.
In the action verifying attachment 100 of reference technique 2, the enforcement engine function of the program used for test that performs an action does not link together with the wrapper function of the efficiency utilization realizing enforcement engine with seamlessly, needing user intermediary.Thereby, it is possible to alleviate the burden of the user for the test that performs an action.In addition, different during action verifying attachment 100 from reference technique 1, the environment that user performs for program without the need to being familiar with the project of QTP etc.That is, as long as set content of operation file and the input data file of the form of user's easy understand operation.Thus, user easily can implement motion test.
In the action verifying attachment 100 of reference technique 2, be multiple motion test programs performing collection of the intensive same test case of generation one, and perform this motion test program.With in the action verifying attachment 100 of reference technique 1 by performing collection, namely according to collecting compared with situation that each QTP project generated carries out performing based on performing, the system overhead (overhead) during the series of actions test in execution test case can be reduced in, motion test rapidly can be realized.
In the action verifying attachment 100 of reference technique 2, can also set across multiple group performing collection and repeat.Thereby, it is possible to flexible partition performs collection, can flexibly set action test drama.In addition, the reference scope of input data file can also be set.Thus, even if input data file is identical, also can changes neatly with reference to scope according to drama, easily can realize the motion test of various change.
In above-mentioned reference technique 2, as setting the example of assisting to the value in function sets picture 210, indicate drop-down list 252.In variation, the input data candidate that the radio button in webpage, check box, list box etc. show in an alternate manner also can be presented in function sets picture 210 by with drop-down list 252 or other form alternatively.That is, be shown to the input data candidate of user with various Alternative Form when carrying out data entry operation to confirming operation subject machine, also can in function sets picture 210 value setting time be optionally displayed out.
In above-mentioned reference technique 1, QTP accepted user is to the operation of web page server 400, and action verifying attachment 100 is to generate daily record for condition generation motion test program.In addition, in above-mentioned reference technique 2, action verifying attachment 100 detects the operation of user to web page server 400, generates motion test program.As variation, also can achieving the time dot generation motion test program of html file from web page server 400 in action verifying attachment 100.In this case, list (form) label be comprised in html file retrieved by action verifying attachment 100, determines to include which type of input interface in html file.Then, as long as select for entering data into the function of each input interface and being arranged by various order by these functions, even without the web page operation that user expresses, the program of test can also be generated.
(reference technique 3)
First, the summary of description references technology 3.
Disclose very many web browsers at present, in the PC of user, also have multiple web browser to be used.Therefore, as action verifying attachment, wish the motion test of the webpage can supported for multiple web browser.Now, action verifying attachment needs the specification operating web browser device according to web browser, and its method is broadly divided into following two kinds.Below also the webpage becoming motion test object is called " tested object page ".
Mode 1. is from the operation of outside:
Aligned the interface (also claiming below " operation IF ") of the input operation of the tested object page be presented in web browser by the API of invoking web page browser external disclosure, i.e. acceptance, come from peripheral operation web browser.The operation IF of this reference technique 3 is specifically for inputting data, performing the list (form) of tested object page and the GET of web page server asked to the function of (Request) and POST request (Request) to tested object page.
Mode 2. is from the operation of inside:
Program code (i.e. html file) to tested object page writes afterwards the input operation accepted tested object page, and makes web browser perform the script file (also claiming " control routine " below) of this input operation.Then, come from built-in function web browser by calling this control routine.In other words, by being operated this web browser by the script file in the webpage that enrolls in advance represented by web browser.
The control routine of this reference technique 3 describes to comprise to accept the outside program code to the function of the interface function of the input operation of tested object page.And be describe to comprise to carry out the function of the displaying contents of refresh test object page by the dom tree of operational testing object page, send the program code of the function to the function that GET request and the POST of web page server ask.Control routine also can describe with predetermined script (such as JAVA script (" JAVA " is registered trademark)).
Figure 19 represents the feature of two kinds of modes of operation to web browser.This figure is the comparison diagram of the mode of operation from outside and the mode of operation from inside.In the reliability being considered to most important motion test itself, owing to being the operation of rewriting tested object page from the mode of operation of inside, so it is better from outside mode of operation to get on very well.And in adaptability and versatility, owing to from the mode of operation of outside being the operation of the operation IF depended in web browser, so it is better from inner mode of operation to get on very well.
Therefore, in this reference technique 3, if disclosed in the operation IF proposing the web browser that a kind of motion test uses is, then from peripheral operation web browser, if and operation IF is private, then from the action verifying attachment of built-in function web browser.Thereby, it is possible to while the reliability guaranteeing motion test as much as possible, support the motion test based on various web browser.
Figure 20, for two kinds of modes of operation to web browser, schematically shows the call relation between function.Web page server 400 is to provide the signal conditioning package of tested object page.Be the web browser playing function as HTTP user agent using browser 402 be general name browser A402a, browser B402b, browser C402c, browser D402d, perform the Graphics Processing, operational processes etc. of tested object page.In addition, assuming that the browser A402a of this figure and browser B402b is operated IF external disclosure, and browser C402c and browser D402d its operation underground IF.
The browser A engine 404a being general name with indivedual browser engine 404 and browser B engine 404b is the program code calling browser A402a and browser B402b operation IF separately respectively.General purpose I F406 is the interface for calling the respective operation IF of multiple browser 402, is the program code of the interface with the general format not relying on multiple browser 402 operation IF different separately.The browser A engine driven 408a being general name with indivedual browser engine driven 408, browser B engine driven 408b are transformed into by each browser 402 and the data of different operation IF forms by the data of the general purpose I F406 form of the kind by not relying on browser 402, come bridge joint motion test program and indivedual browser engine 404.
Agency's (proxy) server 410, as the agency of browser 402, plays the function of the reverse proxy obtaining tested object page from web page server.This tested object page, after adding control routine to tested object page, is supplied to browser C402c and browser D402d by proxy server 410.Built-in function engine 412 calls the control routine be attached in tested object page via proxy server 410.Built-in function engine driven 414, by the data of general purpose I F406 form being transformed into the data of the predetermined format for calling control routine, comes bridge joint motion test program and built-in function engine 412.
The following describes the action of Figure 20.When the web browser showing tested object page is browser A402a or browser B402b, motion test routine call general purpose I F406.Be accompanied by this, the operation IF of web browser is called by via indivedual browser engine driven 408 and indivedual browser engine 404, and thus, web browser is operated, and is implemented the input operation of tested object page.
On the other hand, when the web browser showing tested object page is browser C402c or browser D402d, proxy server 410 adds control routine to tested object page, and this tested object page is presented in web browser.Now, motion test program is also call general purpose I F406, and the control routine be attached in tested object page is called by via built-in function engine driven 414, built-in function engine 412, proxy server 410 ground.Thus, web browser by not via web browser operation IF operate, the input operation of tested object page is implemented.
By the structure of Figure 20, the difference of the interface of web browser by indivedual browser engine driven 408 and built-in function engine driven 414 absorb.Thus, motion test program can not rely on the kind of the web browser (yet claiming " test execution browser " below) used in the motion test of webpage, always carrys out operational testing execution browser by calling general purpose I F406.In other words, the motion test based on multiple web browser just can be made to automatically perform by same motion test program.
Figure 21 is the block diagram that the function of the action verifying attachment representing reference technique 3 is formed.Identical label is marked to the functional block corresponding with the functional block of the action verifying attachment 100 shown in reference technique 1 and 2 in the functional block of this figure.About the functional block marking identical label, be only described when its function is different from content already described in reference technique 1 and 2, for same function, owing to illustrating, therefore suitably the description thereof will be omitted again.
Action verifying attachment 100 also has browser handling part 160 except the functional block shown in Figure 13.Browser handling part 160 corresponds to the browser 402 of Figure 20, plays function as web browser.Certainly, also can be that an action verifying attachment 100 has multiple browser handling part 160.
Program execution department 134, when the execution of motion test program, according to the kind of test execution browser, in other words selects the mode of operation from outside or the mode of operation from inside and operating browser handling part 160 according to the form of browser handling part 160.Figure 22 is the block diagram of the details of the program execution department 134 representing Figure 21.Program execution department 134 comprises test subject selection portion 162, peripheral operation enforcement division 164, agent processes portion 166, built-in function enforcement division 168, evidence thing configuration part 170.
Test subject selection portion 162 to obtain the information of the kind representing test execution browser from predetermined enactment document or motion test, in other words obtains the information of the open situation of the operation IF represented browser handling part 160 by program, determine the executive agent of motion test according to this information.Such as, with reference to the table open situation of various web browser and respective operation IF being set up corresponding relation, the open situation of the operation IF in test execution browser can be determined.
When browser handling part 160 is external disclosure operation IF, test subject selection portion 162 selects the peripheral operation enforcement division 164 described below as the executive agent of motion test.On the other hand, when browser handling part 160 not external disclosure operation IF time, select the agent processes portion 166 that describes below and built-in function enforcement division 168 as the executive agent of motion test.
Peripheral operation enforcement division 164 corresponds to indivedual browser engines 404 of Figure 20, detects motion test program calling general purpose I F406 when the execution of motion test program.Then, by calling the operation IF disclosed in browser handling part 160, carrying out operating browser handling part 160, performing the input operation to tested object page.
Agent processes portion 166 corresponds to the proxy server 410 of Figure 20, obtains the tested object page required by browser handling part 160, in the HTML code of tested object page, insert control routine from web page server 400 agency.Then, browser handling part 160 is sent to make it display the HTML code of the tested object page after change.In addition, agent processes portion 166 accepts calling of control routine from built-in function enforcement division 168 described later, calls the control routine be appended in tested object page.Agent processes portion 166 can adopt the asynchronous communication based on XMLHttpRequest with the communication of tested object page.
Built-in function enforcement division 168 corresponds to the built-in function engine 412 of Figure 20, when the execution of motion test program, detects motion test program calling general purpose I F406.Then, by calling via ground, agent processes portion 166 control routine be added in tested object page, carrying out operating browser handling part 160, performing the input operation to tested object page.Agent processes portion 166 and built-in function enforcement division 168 can adopt by the storehouse of Selenium disclosed as Automated testing tool (http://seleniumhq.org/).
Evidence thing configuration part 170 is according to the requirement from peripheral operation enforcement division 164 or built-in function enforcement division 168, and setting proves the data (also claiming " evidence thing " below) of the result of motion test, is saved in result maintaining part 152 by this evidence thing.As evidence thing, the snapshots of display tested object page in the display can be obtained by browser handling part 160, also can obtain with the data of receiving and dispatching in the http communication of web page server 400.In addition, the obtaining function and can be provided by the operating system of action verifying attachment 100 (below also claim " OS ") of snapshots, the function that obtains of http communication data can be provided by the packet capturing software be installed in action verifying attachment 100.
The following describes the action of above structure.
Figure 23 is the process flow diagram of the action representing action verifying attachment 100.The figure shows action when motion test program is performed in action verifying attachment 100.Such as, being the figure of the details of the S218 represented in Figure 12, is also the figure of the details of the S228 represented in Figure 14.
When the motion test of tested object page starts, test subject selection portion 162 selects the enforcement engine (S300) of motion test according to the open situation of the operation IF in browser handling part 160.Browser handling part 160 requires that web page server 400 provides tested object page (S302).When to operate IF in browser handling part 160 be private (S304 is N), agent processes portion 166 agency obtains tested object page, after adding control routine to its HTML code, tested object page is sent to browser handling part 160 (S306).If operation IF is not disclosed (S304 is Y), then S306 is skipped.Browser handling part 160 makes tested object page be presented at (S308) in predetermined display.The evidence thing of set action test is carried out in evidence thing configuration part 170 by the snapshots etc. obtaining tested object page, and is saved in (S310) in result maintaining part 152.
If all operations that should perform in motion test is executed complete (S312 is Y) all, then terminate the flow process of this figure.If also have unenforced operation (S312 is N), when to operate IF in browser handling part 160 be disclosed (S314 is Y), peripheral operation enforcement division 164 to perform an action the input operation (S316) of program used for test to tested object page by calling this operation IF.If operation IF non-public (S314 is N), then built-in function enforcement division 168 to perform an action the input operation (S318) of program used for test to tested object page by calling the control routine be added in tested object page.When being required based on the operation to tested object page to provide new webpage, such as occur based on GET request or POST request etc. picture transfer time (S320 is Y), get back to S304.If be not required to provide new webpage (S320 is N), then get back to S310.
Premised on the structure of the action verifying attachment 100 of action verifying attachment 100 described in reference technique 1 and reference technique 2 of reference technique 3, add the structure of the motion test for supporting the webpage in multiple web browser.Therefore, the formation of the action verifying attachment 100 of this reference technique 3 not only has reference technique 1 and the effect described in reference technique 2, also has following effect.
In action verifying attachment 100, as the mode of operation of web browser, be configured with the mode of operation from inside, no matter thus can operation IF in web browser openly whether, the motion test of the webpage in multiple web browser can be performed.In addition, in action verifying attachment 100, as the mode of operation of web browser, also be configured with the mode of operation from outside, when web browser openly operates IF, by carrying out motion test with the mode of operation from outside, easily guarantee the reliability of motion test.
Be explained above the action verifying attachment 100 of reference technique 3.
In reference technique 3, the agent processes portion 166 corresponding with proxy server 410 is built in action verifying attachment 100.In variation, agent processes portion 166 is comprised in the out of Memory treating apparatus outside action verifying attachment 100.
As previously described, both can be provided with multiple web browser in single action verifying attachment 100, also can be that action verifying attachment 100 has the multiple browser handling parts 160 corresponding with multiple web browser.Now, program execution department 134 can perform the motion test of tested object page in each web browser.That is, can for the process shown in each web browser executed in parallel Figure 23.Due to the motion test in multiple web browser can be implemented in single action verifying attachment 100, so can high-level efficiency be realized and the motion test of low cost.
In reference technique 3, be select the mode of operation from inside or the mode of operation from outside according to the kind of web browser.In variation, also can combine two kinds of modes in the motion test of single web browser.Such as, in the operation for tested object page, the operation that performs of published operation IF can be utilized, be suitable for the mode of operation from outside, i.e. peripheral operation enforcement division 164 call operation IF.And for the operation that disclosed operation IF can not be utilized to perform, be suitable for the mode of operation from inside, i.e. built-in function enforcement division 168 calls control routine.Because the scripted code described in webpage is generally allowed to operate widely, thus can by supply from the mode of operation of inside depend on operation IF specification and cause from the restriction under the mode of operation of outside.
(reference technique 4)
The action verifying attachment 100 that a kind of and above-mentioned reference technique 3 is associated, supports the webpage motion test based on various web browser is proposed in reference technique 4.The trade mark of the title Shi Ge company such as " Windows ", " Internet Explorer (IE) ", " Firefox (red fox) ", " Mac ", " MacOS ", " Safari ", " JAVA " in below illustrating or registered trademark.
Figure 24 schematically shows the call relation between the function in the motion test of webpage.The action inspection engine 500 of this figure illustrates the Core Feature for webpage motion test in action verifying attachment 100.Windows environment 540 represents the environment in WindowsOS, and Mac environment 560 illustrates the environment in MacOS.Certainly, OS also can be checked the combination of engine 500 and Windows environment 540 to form by action by the action verifying attachment 100 that Windows is housed.In addition, OS also can be checked the combination of engine 500 and Mac environment 560 to form by action by the action verifying attachment 100 that MacOS is housed.
The IE browser 542 of Figure 24 discloses can from the operation IF of the application call of outside, i.e. COM550.Therefore, for the operation of webpage shown in IE browser 542, adopt the mode of operation from outside in reference technique 3.On the other hand, FF (red fox) browser 546 and the Safari browser 562 operation IF that openly can not call from applications.Therefore, the operation for webpage shown on these browsers just adopts the mode of operation from inside in reference technique 3.
In fig. 24, the Selenium module 530 for the mode of operation from inside is illustrated.Selenium module 530 corresponds to built-in function engine 412 and the proxy server 410 of Figure 20, is the server program of the Selenium (http://seleniumhq.org/) be disclosed as Automated testing tool.The window (below also referred to as " browser window ") of the web browser of Selenium module 530 pairs of display web pages distributes identifier alone.Then, when client specifies this identifier, just unique identification should as the browser window of operand (being in other words webpage).
Common IF406 corresponds to the common IF406 of Figure 20.IE driver 502 corresponds to indivedual browser engine driven 408 of Figure 20.IE driver 502 plays function as motion test program (below also referred to as " test procedure ") and the bridge of IE browser 542 in the webpage motion test using IE browser 542.IE driver 502 comprises IE window manager 504, IE browser operating portion 506, IE dialog box operating portion 508.
IE window manager 504 manages the browser window for display web page, the corresponding relation of the identifier (hereinafter referred to as " OS distributes ID ") that the identifier (below also referred to as " user distributes ID ") distributed in test procedure by user and OS distribute.
IE browser operating portion 506, for the browser window (also claiming " operand window " below) that should carry out web page operation, determines that distributing OS corresponding to ID with user specified in test procedure distributes ID.In addition, the function of the COM550 corresponding with content of operation specified in test procedure is also determined.Then, distribute ID by specifying OS and call the function of COM550, coming from peripheral operation IE browser 542, make the web page operation in IE browser 542 executable operations object window.Different according to the operation of webpage, IE browser 542 directly uses the resource of WindowsOS to show dialog box sometimes.Below by this dialog box also referred to as " OS dialog box ".
IE dialog box operating portion 508 operates the OS dialog box 544 shown by IE browser 542.Specifically, by calling the function operating corresponding Win32API552 with dialog box specified in test procedure when detecting that OS dialog box 544 is shown, the operation for OS dialog box 544 is performed.As the typical content of operation for OS dialog box 544, can enumerate the input of character string, the selection of display items display, button press inferior.Content of operation for FF dialog box 548 described later and Safari dialog box 564 is also the same.
FF driver 510 corresponds to the built-in function engine driven 414 of Figure 20, and in the webpage motion test using FF browser 546, the bridge as test procedure and FF browser 546 plays function.FF driver 510 comprises FF window manager 512, FF browser operation portion 514, FF dialog box operating portion 516.
FF window manager 512 manages the identifier (below also referred to as " Selenium distributes ID ") distributing to the browser window of display web page by Selenium module 530 and distributes ID and the OS corresponding relation distributing ID with the user for this window.
FF browser operation portion 514, for operand window, determines that distributing Selenium corresponding to ID with user specified in test procedure distributes ID.In addition, the function of the Selenium module 530 corresponding with content of operation specified in test procedure is also determined.Then, specify Selenium to distribute ID, call the function of Selenium module 530.Accordingly, Selenium module 530 distributes ID determination operation object window based on Selenium, calls and in the control routine of the webpage shown by this operand window, corresponding with invoked function control routine.Thus, in the webpage of operand, the JAVA Script Action determined, from built-in function FF browser 546, thus realizes the web page operation specified by test procedure.
When test procedure specifies the closing process of scheduled operation, the typically browser window that should not operate via Selenium module 530 ground, FF browser operation portion 514 suppresses calling of Selenium module 530.Replacing, with IE dialog box operating portion 508, performing this operation by calling Win32API552.
According to the operation of webpage, FF browser 546 makes OS dialog box 544 show sometimes, or makes to utilize the dialog box of FF browser 546 resource alone (also claiming " FF dialog box " below) display.Typically, when the OS such as the preservation with file cooperate, OS dialog box 544 is shown, and as the warning dialog box based on JAVA script, then make FF dialog box 548 show.
FF dialog box operating portion 516 operates OS dialog box 544 and FF dialog box 548.Specifically, when the display of OS dialog box 544 being detected, call the function operating corresponding Win32API552 with the dialog box specified by test procedure, perform the operation to this OS dialog box 544 thus.In addition, when the display of FF dialog box 548 being detected, calling the FF plug-in unit 554 as expanded function be preset in FF browser 546 and operating to indicate dialog box, performing the operation for FF dialog box 548 thus.This details will describe explicitly later with Figure 26.
Safari driver 520 corresponds to the built-in function engine driven 414 of Figure 20, in the motion test of webpage using Safari browser 562, as test procedure and Safari browser 562 bridge and play function.Safari driver 520 comprises Safari window manager 522, Safari browser operation portion 524, Safari dialog box operating portion 526.Safari window manager 522 manage for webpage the user of window that is shown distribute ID, OS and distribute ID and the Selenium corresponding relation distributing ID.In MacOS, to browser window distribution ID is Safari browser 562, but the convenience in order to illustrate, distribute ID by unified for its title OS of being.
Safari browser operation portion 524, for the window of operand, determines that distributing Selenium corresponding to ID with the user specified by test procedure distributes ID.In addition, the function of the Selenium module 530 corresponding with the content of operation specified by test procedure is also determined.Then, specify Selenium to distribute ID, call the function of Selenium module 530.Thus, with FF browser operation portion 514, the operation of the webpage for operand is performed via Selenium module 530.
When test procedure specifies the closing process of scheduled operation, the typically window that should not operate via Selenium module 530 ground, Safari browser operation portion 524 suppresses calling of Selenium module 530.Instead, the API provided by calling MacOS performs this operation.Specifically, API group, i.e. accessibility (Accessibility) API566 prepared for the use of the application for disabled is called.This details will describe explicitly later with Figure 27.
According to the operation of webpage, Safari browser 562 makes dialog box (also claiming " Safari dialog box " below) sometimes.Safari dialog box operating portion 526, when the display of Safari dialog box 564 being detected, calls the API operating corresponding MacOS with the dialog box specified by test procedure, performs the operation for Safari dialog box 564 thus.Now also call above-mentioned accessibility API566.This details will describe explicitly later with Figure 27.
Above-mentioned FF window manager 512 and Safari window manager 522 are collectively referred to as Selenium window manager 532.Figure 25 represents the data example that Selenium window manager 532 stores.As shown in the drawing, Selenium window manager 532 user distributed each browser window in the motion test of webpage is distributed ID, Selenium distribute ID and OS distribute ID preserve accordingly.Certainly, the operation of IE browser 542 is not via Selenium module 530.Therefore, IE window manager 504 only user is distributed ID and OS distribute ID preserve accordingly.
In addition, above-mentioned FF browser operation portion 514 and Safari browser operation portion 524 are collectively referred to as the Selenium browser operation portion 534 via Selenium module 530 operating web browser device.
Figure 26 represents the mode of the operation of the FF dialog box 548 for Figure 24.In Selenium module 530, when FF browser 546 starts, JAVA script the window handle 572 that is equipped be preset the FF read at FF browser 546 and file in (profile) 570.Window handle 572, when opening new browser window, is read in the storage area of FF plug-in unit 554 by FF browser 546, thus, is added the function loading window handle 572.
When window handle 572 is loaded as FF plug-in unit 554, the eavesdropping target (listener object) that the window detecting FF browser 546 generates is signed in in window reader (Window Watcher) 582 via XPConnect578 and XPCOM580.When window handle 572 detects that via logged in eavesdropping target FF dialog box 548 is generated, carry out socket communication with socket (socket) server 574 of FF dialog box operating portion 516, notify that its FF dialog box 548 is generated.The display style information of the display object such as display string, button represented in FF dialog box 548 is comprised in this announcement information.
After the notified FF dialog box 548 of FF dialog box operating portion 516 generates, inform to window handle 572 by with the identifying information that the dialog box specified by test procedure operates the function of corresponding function, i.e. XPCOM580.Window handle 572 operates FF dialog box 548 by the function calling the XPCOM580 specified by FF dialog box operating portion 516.Certainly, FF dialog box operating portion 516 content of operation that also suitably can adjust FF dialog box 548 according to the Show Styles of FF dialog box 548.Such as, after the ID of the button pressing object can being added to the button pressing operations specified by test procedure, this operation instruction is informed to window handle 572.
As previously mentioned, as the warning dialog box of JAVA script, FF browser 546 makes FF dialog box 548 show.This FF dialog box 548 utilizes FF browser 546 resource alone and shown, therefore can not differentiate the content of dialog box from OS side.Such as, the display object such as display string, button in FF dialog box 548 can not be differentiated.Therefore, as the operation to OS dialog box 544, the operation via Win32API552 can not be carried out.Such as, the push to the button shown by FF dialog box 548 can not be carried out.
Therefore, in reference technique 4, added as plug-in unit by the function for monitoring that the FF dialog box 548 in FF browser 546 is shown, the displaying contents of FF dialog box 548 can be obtained, and realize the operation to FF dialog box 548.
In addition, FF browser operation portion 514 owing to being operate FF browser 546 via Selenium module 530, therefore can be used for the function (such as the same with window handle 572 program code) of dialog box operation to the program code setting of webpage.But if FF dialog box 548 is modal dialog (modal dialog, application model dialog box or system model dialog boxes), then the code that can not show the webpage in source from it is to operate dialog box.On the other hand, the operation to modal dialog can be proceeded by the window handle 572 loaded as FF plug-in unit 554.Based on this viewpoint, wish that window handle 572 is set to the expanded function of FF browser 546.
Figure 27 represents the mode of the operation of the Safari dialog box 564 to Figure 24.The Apple script 584 of this figure is the script of the Apple Events as IAC technology called in MacOS.System event 586 is application that MacOS provides, and with Apple script 584 and accessibility API566, to be intermediary realize based on the calling of accessibility API566 of Apple script 584.
Figure 27 illustrates MacOS with four stratum, and upper stratum provides the API higher than stratum's level of abstraction of bottom, in other words provides high level API.As shown in the drawing, accessibility API566 belongs to stratum's " Consumer's Experience " of upper.As already described, accessibility API566 is the API group about UI automation function for guaranteeing the availability towards disabled.The content of operation be automated comprises various user interface (picture) operations such as opening window, press the button.
Safari dialog box operating portion 526 determines the function operating corresponding accessibility API566 with the dialog box specified by test procedure, sends to system event 586 by specifying the Apple script 584 of this function.Thus, via system event 586, call by the function of the dialog box operation prepared as accessibility API566.
Certainly, can realize with other API group of the even lower level in MacOS the operation of Safari dialog box 564.Such as, Safari dialog box operating portion 526, by calling " Quartz " API of figure and multimedia stratum, also can perform the operation to Safari dialog box 564.But, operate corresponding high level function because accessibility API566 provides with the UI that user carries out, therefore by utilizing accessibility API566, the size of code of Safari dialog box operating portion 526 can be reduced, and its maintainability can be improved.
In addition, not shown in figure 27, for in the operation of webpage, the scheduled operation that should not carry out via Selenium module 530 ground, accessibility API566 equally calls with Safari dialog box operating portion 526 in Safari browser operation portion 524.Thus, MacOS or Safari browser 562 is made to perform this operation.
Figure 28 is the block diagram that the function of the action verifying attachment 100 representing reference technique 4 is formed.The functional block identical or corresponding with the functional block of the action verifying attachment 100 shown in reference technique 1 to 3 in the functional block of this figure is endowed identical label.About the functional block imparting identical label, only record when its function is different from content already described in reference technique 1 to 3, for same function, suitably omit it and record.
Action verifying attachment 100 also has window ID maintaining part 154 and ID obtaining section 139.Window ID maintaining part 154 and ID obtaining section 139 correspond to IE window manager 504 and the Selenium window manager 532 of Figure 24.That is, the user that window ID maintaining part 154 is preserved the browser window of display web page distributes distributes ID, Selenium corresponding relation distributing ID and OS distribution ID.
The OS that ID obtaining section 139 obtains for browser window from OS (WindowsOS or MacOS) distributes ID.When WindowsOS, ID obtaining section 139 obtains the window handle (window handle) obtained by calling Win32API.Such as, obtain in the mode of long type integer the HWND value that function " FindWindow " returns, the OS being stored into window ID maintaining part 154 distributes in id field.About the value not being stored in window ID maintaining part 154 in the multiple HWND value that function " FindWindow " returns, also can add as the new record of window ID maintaining part 154.
In addition, when MacOS, ID obtaining section 139 obtains the long value obtained from Safari browser 562 by Apple script, and the OS being stored into window ID maintaining part 154 distributes in id field.Such as, following script is performed
tell application”Safari”
return id of windows
end tell
Obtain the long value guide look that Safari browser 562 distributes each browser window.
In addition, ID obtaining section 139 obtains the window attribute value " seleniumWindowName " that Selenium module 530 (Selenium-CORE) is distributed each browser window.Then, the Selenium that this window attribute value is saved in window ID maintaining part 154 as Selenium distribution ID is distributed in id field.Such as, by calling the function " getAttributeFromAllwindow (" seleniumwindowName " of Selenium module 530) ", obtain the window attribute value guide look that Selenium module 530 manages.
In addition, the user that ID obtaining section 139 obtains ID dispenser 174 described later and the 180 pairs of browser windows distribution of ID dispenser distributes ID, and the user being saved in window ID maintaining part 154 distributes in id field.Certainly, user also can be distributed ID, Selenium and distributes ID, OS and distribute the allocation order of ID respectively on time on countershaft (obtaining order in ID obtaining section 139) and be saved in successively in window ID maintaining part 154 by ID obtaining section 139.Thus, the ID (such as Selenium distributes ID) time shaft is first assigned with is just corresponding with same other ID (such as user distributes ID) be first assigned with on a timeline.
Figure 29 is the block diagram of the details of the program execution department 134 representing Figure 28.Program execution department 134 has test environment detection unit 171, peripheral operation enforcement division 164, agent processes portion 166, built-in function enforcement division 168, evidence thing configuration part 170.Identical label is imparted for the functional block identical or corresponding with the functional block of the program execution department 134 shown in reference technique 3 in the functional block of this figure.For the functional block imparting identical label, only record when its function is different from content already described in reference technique 3, for same function, suitably omit it and record.
Test environment detection unit 171 corresponds to the test subject selection portion 162 in reference technique 3 (Figure 21), based on the environment of the motion test for webpage, specifically based on the combination of OS and web browser, determines the mode of the motion test of webpage.Such as, the mode of operation of web browser and the mode of operation of dialog box is determined.
Peripheral operation enforcement division 164 corresponds to the IE browser operating portion 506 in Figure 24.Peripheral operation enforcement division 164 comprises ID dispenser 174 and dialog box operating portion 176.When ID dispenser 174 detects that when test procedure performs the function (instruction) generating new browser window in test procedure is designated, the ID being designated as the variable of this instruction is determined to distribute ID for user.If ID does not specify, then new ID unique in peripheral operation enforcement division 164 and built-in function enforcement division 168 is adopted to distribute ID as user.
Dialog box operating portion 176 corresponds to the IE dialog box operating portion 508 of Figure 24, regularly monitors the setting of IE browser 542 pairs of dialog boxes.Such as, the above-mentioned FindWindow function of Win32API552 can be called termly, detect dialog box window and be generated.Dialog box operating portion 176 operates in OS dialog box 544 shown in IE browser 542 via Win32API552.
In addition, peripheral operation enforcement division 164 stores the function of the web page operation that test procedure can be specified and the table of the corresponding relation of the function specified by the operation IF as web browser, is the table with the corresponding relation of the function of COM550 and Win32API552 defined in reference technique 4.Peripheral operation enforcement division 164 calls the function of COM550 or Win32API552 corresponding with the function specified by test procedure with reference to this table.
Agent processes portion 166 corresponds to the Selenium module 530 in Figure 24.As described in reference technique 3, agent processes portion 166 agency obtains the webpage of operand.Then, add in the program code of this webpage JAVA script be equipped with program code, be execution to the various operation of webpage pre-prepd function group (" control routine " in reference technique 3).Then, the webpage after making browser handling part 160 display and control code add.In addition, call the function of the control routine corresponding with this operation instruction according to the operation instruction from built-in function enforcement division 168, thus, intermediary performs the operation of webpage.
Agent processes portion 166 comprises ID and sends portion 178 and add-on assemble (add-on) configuration part 179.When ID sends the webpage of portion 178 after making browser handling part 160 display and control code add, send for the identifying information identifying this browser window unique in agent processes portion 166.This identifying information distributes ID by ID obtaining section 139 as Selenium and obtains.Add-on assemble configuration part 179 for the webpage after browser handling part 160 display and control code is added and FF browser 546 should be started time, specify the FF filing 570 comprising the window handle 572 of Figure 26, start FF browser 546.Thus, window handle 572 is loaded as the expanded function of FF browser 546.
Built-in function enforcement division 168 corresponds to the Selenium browser operation portion 534 in Figure 24.Built-in function enforcement division 168 comprises ID dispenser 180 and dialog box operating portion 182.ID dispenser 180 is formations same with the ID dispenser 174 of peripheral operation enforcement division 164.In addition, the table of the function that built-in function enforcement division 168 stores the web page operation that test procedure can be specified and the corresponding relation of the function of web page operation specified in Selenium module 530.Peripheral operation enforcement division 164 is with reference to this table, and the function calling the Selenium module 530 corresponding with the function specified by test procedure is used as the operation instruction to Selenium module 530.
Dialog box operating portion 182 corresponds to FF dialog box operating portion 516 and the Safari dialog box operating portion 526 of Figure 24.If test environment is WindowsOS and FF browser 546, then dialog box operating portion 182 monitors the setting of the dialog box that FF browser 546 carries out termly.Such as, the above-mentioned FindWindow function of Win32API552 can be called termly, detect dialog box window and be generated.Dialog box operating portion 182 operates in OS dialog box 544 shown in FF browser 546 via Win32API552.In addition, dialog box operating portion 182 detects the FF dialog box 548 shown by FF browser 546 via FF plug-in unit 554, and operates via FF plug-in unit 554.
In addition, if test environment is MacOS and Safari browser 562, then dialog box operating portion 182 monitors the setting of the dialog box that Safari browser 562 carries out termly.Such as, above-mentioned Apple script can be performed termly, detect the setting of the dialog box window in Safari browser 562.Dialog box operating portion 182 operates in Safari dialog box 564 shown in Safari browser 562 via accessibility API566.
The following describes the action of above structure.
Figure 30 is the process flow diagram of the action representing action verifying attachment 100.The figure shows action when to perform an action program used for test in action verifying attachment 100.Such as, being the figure of the details of the S218 represented in Figure 12, is also the figure of the details of the S228 represented in Figure 14.That is, as shown in Figure 14, a succession of input operation that action verifying attachment 100 is implemented webpage by reproducing user in advance, carrys out the confirming operation of auxiliary webpage.Figure 30 can be described as the figure that the process flow diagram of Figure 23 is changed more in detail.
Receive the start instruction of the motion test of webpage from user after, test environment detection unit 171 is determined to be the OS of the execution environment of motion test and the kind of web browser.Then, according to this result of determination, select peripheral operation enforcement division 164 or built-in function enforcement division 168 as the operating main body (S400) of webpage.Program execution department 134, the peripheral operation enforcement division 164 being in other words chosen as operating main body or built-in function enforcement division 168 perform test procedure described later and read in process (S402).When all operations to webpage (whole projects of motion test) described in test procedure is completed (Y of S404), terminate the flow process of this figure.
As an example of test procedure, record the operational order test procedure of following operation 1 ~ operation 10 in this supposition.
(operation 1) open any browser window A (assigned I D=1)
(operation 2) open any browser window B (assigned I D=2)
(operation 3) selects browser window A (assigned I D=1)
(operation 4) operation to the webpage shown by browser window A
(operation 5) operation to the webpage shown by browser window A
(operation 6) operation to the dialog box be shown by operation 5
(operation 7) selects browser window B (assigned I D=2)
(operation 8) operation to the webpage shown by browser window B
(operation 9) closes browser window A (assigned I D=1)
(operation 10) closes browser window B (assigned I D=2)
This test procedure is motion test program set in a series of process shown in Figure 14.In content of operation file now, as the function of assigned operation 1 and operation 2, be designated " waitForNewWindow ", as its variable, be set the ID that the URL of webpage and user specify.In addition, as the function of assigned operation 3 with operation 7, be designated " select Window ", as its variable, be set the ID that user specifies.In addition, as assigned operation 4, the function operating 5 and operation 8, the function of the various operations such as WebEditSet, WebElementClick is designated.In addition, as the function of assigned operation 6, be designated the predefined function of dialog box operation.
In the execution of test procedure, the operational order that test procedure describes is performed successively.If still there is unenforced operational order (N of S404) in test procedure, and be required to show new webpage in test procedure, namely should perform above-mentioned operation 1 and operation 2 (Y of S406), then be chosen as the peripheral operation enforcement division 164 of operating main body or the ID specified by this operational order is distributed ID as user and distributes by the ID dispenser of built-in function enforcement division 168.ID obtaining section 139 obtains this user and distributes ID, is stored into (S408) in window ID maintaining part 154.
If the operation IF of web browser is (Y of S410) that be disclosed, then peripheral operation enforcement division 164 makes web browser obtain the data (S412) of the webpage of operand by calling this operation IF.Then, the browser window display of the webpage showing operand is made over the display (S420).The situation of to be web browser the be IE browser 542 becoming the Y of S410 in fig. 24, the corresponding COM550 of operation IF now.
If the operation IF of web browser is private (N of S410), then built-in function enforcement division 168 pairs of agent processes portion 166 instructions obtain the webpage of operand.The ID in agent processes portion 166 sends portion 178 and sends Selenium distribution ID (S414).Agent processes portion 166 obtains the data (S416) of the webpage of operand, to the data supplementing control routine (S418) of this webpage.Agent processes portion 166 performs (S419) after web browser start up process described later, the data of the webpage adding control routine are passed to web browser, makes the browser window display of display operand webpage over the display (S420).The situation of to be web browser be FF browser 546 or the Safari browser 562 becoming the N of S410 in fig. 24.
ID obtaining section 139 calls the API that OS provides, and obtains the OS distribution ID that OS distributes to browser window, is stored in window ID maintaining part 154.In addition, if the operation IF of web browser is private, then call the API that Selenium module 530 provides, obtain the Selenium distribution ID that Selenium module 530 distributes to browser window, be stored in window ID maintaining part 154.Thus, the user making browser window A and browser window B be assigned with separately distributes ID, OS and distributes ID and Selenium distribution ID foundation corresponding (S422).
If do not specify the display (N of S406) of new web page in test procedure, then S408 ~ S422 is skipped.If specify the operation having webpage in test procedure, namely should perform aforesaid operations 3 ~ operation 10 (Y of S424), then program execution department 134 performs web page operation process (S426) described later.If do not have the operation (N of S424) of named web page in test procedure, then S426 is skipped.After the operation to webpage, the data of the evidence things such as snapshots are stored into (S428) in result maintaining part 152 by evidence thing configuration part 170, and return S404.
The evidence things such as the dependent picture snapshot of the browser window as evidence thing are distributed ID record accordingly with the user that this browser window is assigned with by preferred evidence thing configuration part 170.Thus, the user of the motion test result that will confirm webpage can be made to confirm the evidence thing corresponding with the ID specified by oneself, convenience when user confirms evidence thing can be improved.
Figure 31 is the process flow diagram that the test procedure of the S402 representing Figure 30 in detail reads in process.Program execution department 134 reads in motion test program (S430).If be designated the predefined function (Y of S432) having and represent dialog box operation in this program, then the content (above-mentioned operation 6) that this dialog box operates by program execution department 134 is kept in predetermined dialog box operation maintenance table (S434).If do not specify dialog box to operate (N of S432), then S434 is skipped.
Figure 32 is the process flow diagram of the web browser start up process of the S419 representing Figure 30 in detail.The web browser (S440) being used for motion test is started in agent processes portion 166.If the web browser of motion test is FF browser 546 (Y of S442), then window handle 572 adds (S444) as the expanded function of FF browser 546 by add-on assemble configuration part 179.The audiomonitor being used for detecting FF dialog box 548 is signed in (S446) in FF browser 546 by window handle 572.If the web browser of motion test is not FF browser 546 (N of S442), then S444 and S446 is skipped.
Figure 33 is the process flow diagram of the web page operation process of the S426 representing Figure 30 in detail.In the result of determination of test environment detection unit 171, if OS is MacOS (Y of S450), then built-in function enforcement division 168 performs Mac operational processes (S452) described later.If OS is not MacOS (N of S450), then S452 is skipped.If OS is Windows (Y of S454), web browser is IE browser 542 (Y of S456), then peripheral operation enforcement division 164 performs IE operational processes (S458) described later.If web browser is not IE browser 542 (N of S456), but FF browser 546 (Y of S460), then built-in function enforcement division 168 performs FF operational processes (S462) described later.If web browser neither FF browser 546 (N of S460), then S462 is skipped, if OS neither Windows (N of S454), then the step that S456 is later is skipped.
Figure 34 is the process flow diagram of the Mac operational processes of the S452 representing Figure 33 in detail.If be designated window selection operation (above-mentioned operation 3 and 7) (Y of S470) in test procedure, then the ID received with variable has been defined as user and has distributed ID (S472) by the ID dispenser 180 of built-in function enforcement division 168.If be not designated window selection operation (N of S470), but be designated scheduled operation (the above-mentioned operation 4,5,8 that should perform via Safari browser 562, below also referred to as " browser operation ") (Y of S474), then built-in function enforcement division 168 is determined to distribute with user the Selenium that ID establishes corresponding relation and is distributed ID (S476).Then, by having this Selenium to distribute the operation instruction of ID to inform to Selenium module 530 by specifying, Selenium module 530 is called be appended to the function (S478) corresponding with operation instruction in the control routine of webpage.
If be not designated browser operation (N of S474), but be designated scheduled operation (the above-mentioned operation 9 and 10 that should perform via MacOS, below also " OS operation " is claimed) (Y of S480), then built-in function enforcement division 168 is determined to distribute with user ID and is established corresponding OS and distribute ID (S482).Then, by specifying this OS to distribute ID, calling the function of the accessibility API566 corresponding with content of operation, MacOS being performed the OS of browser window is operated (S484).If neither operate (N of S480) by OS, then S482 and S484 is skipped.
When the dialog box operating portion 182 of built-in function enforcement division 168 detects the display of Safari dialog box 564 (Y of S486), obtain the content of operation (above-mentioned operation 6) (S488) for this dialog box from dialog box operation maintenance table.Then, by calling the function of the accessibility API566 corresponding with this content of operation, perform the operation (S490) to Safari dialog box 564.If the display (N of S486) of Safari dialog box 564 do not detected, then S488 and S490 is skipped.
Figure 35 is the process flow diagram of the IE operational processes of the S458 representing Figure 33 in detail.If be designated window selection operation (aforesaid operations 3 and 7) (Y of S500) in test procedure, then the ID received with variable has been defined as user and has distributed ID (S502) by the ID dispenser 174 of peripheral operation enforcement division 164.If be not designated window selection operation (N of S500), but be designated the operation (aforesaid operations 4,5,8 that should perform via IE browser 542, below also " browser operation " is claimed) (Y of S504), then peripheral operation enforcement division 164 is determined to distribute with user ID and is established corresponding OS and distribute ID (S506).Then, by the function of specifying this OS to call the COM550 corresponding with the content of browser operation with distributing ID, IE browser 542 is made to perform this operation (S508).
If be not designated browser operation (N of S504), but be designated the operation (aforesaid operations 9 and 10 that should perform via WindowsOS, below also " OS operation " is claimed) (Y of S510), then peripheral operation enforcement division 164 is determined to distribute with user ID and is established corresponding OS and distribute ID (S512).Then, by the function of specifying this OS to call the Win32API552 corresponding with content of operation with distributing ID, WindowsOS is performed the OS of browser window is operated (S514).If neither operate (N of S510) by OS, then S512 and S514 is skipped.
When the dialog box operating portion 176 of peripheral operation enforcement division 164 detects the display of OS dialog box 544 (Y of S516), obtain the content of operation (aforesaid operations 6) (S518) for this dialog box from dialog box operation maintenance table.Then, by calling the function of the Win32API552 corresponding with this content of operation, perform the operation (S520) to OS dialog box 544.If the display (N of S516) of OS dialog box 544 do not detected, then S518 and S520 is skipped.
Figure 36 is the process flow diagram of the FF operational processes of the S462 representing Figure 33 in detail.If be designated window selection operation (aforesaid operations 3 and 7) (Y of S530) in test procedure, then the ID received with variable has been defined as user and has distributed ID (S532) by the ID dispenser 180 of built-in function enforcement division 168.If be not designated window selection operation (N of S530), but be designated the scheduled operation (aforesaid operations 4,5,8 that should perform via FF browser 546, below also " browser operation " is claimed) (Y of S534), then built-in function enforcement division 168 is determined to distribute with user ID and is established corresponding Selenium and distribute ID (S536).Then, there is this Selenium to distribute the operation instruction of ID to inform to Selenium module 530 by specifying, thus, Selenium module 530 being called be appended to the function (S538) corresponding with operation instruction in the control routine of webpage.
If be not designated browser operation (N of S534), but be designated the scheduled operation (aforesaid operations 9 and 10 that should perform via WindowsOS, below also " OS operation " is claimed) (Y of S540), then built-in function enforcement division 168 is determined to distribute with user ID and is established corresponding OS and distribute ID (S542).Then, by the function of specifying this OS to call the Win32API552 corresponding with content of operation with distributing ID, WindowsOS is performed the OS of browser window is operated (S544).If neither operate (N of S540) by OS, then S542 and S544 is skipped.
In this paragraph, illustrate that the dialog box of the display by aforesaid operations 5 is the situation of FF dialog box 548.The dialog box operating portion 182 of built-in function enforcement division 168 detects the display of FF dialog box 548 during by the notice from window handle 572 (Y of S546), obtain the content of operation (aforesaid operations 6) (S548) to this dialog box from dialog box operation maintenance table.Then, by by this operating content notice to window handle 572, make window handle 572 call the function (S550) of the FF browser 546 corresponding with this content of operation.Thus, perform for FF dialog box 548, in accordance with the operation of test procedure.If the display (N of S546) of FF dialog box 548 do not detected, then S548 and S550 is skipped.
In this paragraph, illustrate that the dialog box of the display by aforesaid operations 5 is the situation of OS dialog box 544.When the dialog box operating portion 182 of built-in function enforcement division 168 detects that OS dialog box 544 is shown (Y of S552), obtain the content of operation (aforesaid operations 6) (S554) for this dialog box from dialog box operation maintenance table.Then, by calling the function of the Win32API552 corresponding with this content of operation, perform the operation (S556) to OS dialog box 544.If the display (N of S552) of OS dialog box 544 do not detected, then S554 and S556 is skipped.
According to the action verifying attachment 100 of reference technique 4, as described in reference technique 3, by using Selenium module 530, no matter whether operation IF is open, the confirming operation of the webpage on various web browser can be carried out.In addition, at test procedure and become in the content of operation file sum functions setting screen in generation source of test procedure, arbitrary ID can be given browser window by user.That is, user suitably can set the ID of browser window according to the situation of test, and without the need to recognizing that Selenium module 530 identifies that the Selenium required for browser window distributes ID, can improve the convenience of user.
In addition, by action verifying attachment 100, the operation to browser window should not carried out via Selenium module 530 ground can also be supported.In this case, user also can set arbitrarily the ID of browser window according to the situation of test, and without the need to recognizing that OS or web browser distribute to the ID of this browser window, can improve the convenience of user.
In addition, by action verifying attachment 100, the expanded function of dialog box measuring ability as web browser (FF browser 546) is added.Thus, web browser is the resource display dialog box used alone, even if cannot obtain the content of dialog box in the function of OS, also can obtain the content of dialog box via attached dialog box measuring ability, and operate this dialog box.In addition, when web browser can generate the 1st dialog box of the resource employed alone and employ the 2nd both dialog boxes of the machine (native) resource of OS, by suitably switching the mode of dialog box operation, the operation to arbitrary dialog box also can be carried out.That is, for the 1st dialog box, operate via attached dialog box measuring ability, for the 2nd dialog box, the machine function via OS operates, and thus, can support and reproduce the sequence of operations to webpage.
In addition, by action verifying attachment 100, in for the majority operation of browser window, utilize Selenium module 530, and in the operation of exceptionality, directly call the API of OS, or the module utilizing dialog box to operate.Like this, by technology illustrated in appropriately combined reference technique 4, the various test environments (i.e. the combination of OS and web browser) do not mentioned can also be supported in reference technique 4, the motion test of webpage can be assisted.
(the 1st embodiment)
For the action verifying attachment 100 of first embodiment of the present invention (also claiming " the 1st embodiment " below), its summary is first described.Figure 37 represents the show example of the web page contents in browser window.The webpage (typically tested object page) that the figure shows web page server provides is shown in the situation in browser window 632 on the picture 630 of display.In the 1st embodiment, the web browser started in browser window is Safari browser 562.
Browser window 632 comprises client region 634 and head zone 636.Head zone 636 is main regions shown about the information of Safari browser 562, shows various menus, the icon for operating Safari browser 562.In addition, the metamessage (meta-information) of the webpage such as URL and title beyond the content itself of going back display web page.
On the other hand, client region 634 is regions of the content itself of display web page.Client region 634 comprises multiple frameworks (frame) of display different web pages separately.In the 1st embodiment, assuming that comprise framework a638, framework b640 and framework c642.In addition, assuming that in browser window 632, head zone 636 is configured in the top of client region 634.
Framework a638 exceedes the longitudinal length of visual range due to overall longitudinal length that it comprises non-displaypart, therefore is configured with longitudinal scroll bar 646.In addition, framework a638 containing element 644." element " in 1st embodiment is configured in the GUI element that framework is interior, can be set scroll bar, such as, comprise text box or list box.The element 644 of this figure exceedes the longitudinal length of visual range due to overall longitudinal length that it comprises non-displaypart, therefore is configured with longitudinal scroll bar 645.Framework b640 exceedes the lateral length of visual range due to overall lateral length that it comprises non-displaypart, therefore is configured horizontal scroll bar 650.In addition, framework b640 comprises table 648.
It, when carrying out grabgraf to the display image of browser window 632, preserves as a view data by framework unit by the action verifying attachment 100 of the 1st embodiment.That is, to the webpage be made up of multiple framework, in other words to multiple webpage is carried out framework divide cede territory show webpage (below for simplicity also referred to as " homepage ") carry out picture grabgraf time, preserve the grabgraf image of each framework.In addition, can not the content of disposable display frame entirety in browser window 632, and when needing to roll, obtain the multiple view data of the part comprising framework respectively, the view data coupled together making them is preserved as final grabgraf image.
Figure 38 represents the grabgraf image of the browser window of Figure 37.(a) of Figure 38 illustrates the grabgraf image of framework a638.In the image grabgraf process of the 1st embodiment, the framework a638 entirety comprising the region do not demonstrated in Figure 37 is preserved by as 1 image.In addition, (b) of Figure 38 illustrates the grabgraf image of the element 644 in framework a638.In the image grabgraf process of the 1st embodiment, element 644 entirety comprising the region do not demonstrated in Figure 37 is preserved by as 1 image.(c) of Figure 38 is the grabgraf image of framework b640, and the framework b640 entirety comprising the region do not demonstrated in Figure 37 is preserved by as 1 image.In addition, although not shown in Figure 38, the grabgraf image of framework c642 is also obtained.Owing to not configuring scroll bar in framework c642, so obtain the grabgraf image of the displaying contents represented in Figure 37.
The browser window below reply display image being carried out grabgraf is called " grabgraf object window ", is called " grabgraf object-oriented framework " by the framework comprised, the element comprised is called " grabgraf object elements " in grabgraf object-oriented framework in grabgraf object window.In addition, the webpage be shown in homepage in each framework is called " frame page ".
The major function of the action verifying attachment 100 in the 1st embodiment forms and forms with the function of the action verifying attachment 100 in the reference technique 4 shown in Figure 28 and Figure 29 is the same.Below be suitably omitted in the explanation of the structure illustrated in reference technique 1 ~ 4, describe the structure of the picture grabgraf process being used for web page contents in detail.
Figure 39 is the block diagram that the correlation function of the picture grabgraf process represented in the 1st embodiment is formed.As already described, action verifying attachment 100 comprises evidence thing configuration part 170, agent processes portion 166, browser handling part 160.The described later various function that agent processes portion 166 provides is called in evidence thing configuration part 170.Agent processes portion 166 communicates with the control routine of the program code being appended to webpage in good time, and the JAVA script corresponding with proving the function that calls thing configuration part 170 is performed in browser handling part 160 side.That is, the various functions that evidence thing configuration part 170 utilizes agent processes portion 166 to provide carry out operation web page, and obtain the information required for Web page image grabgraf from browser handling part 160 and agent processes portion 166.
Figure 40 represents that agent processes portion 166 is supplied to the function of evidence thing configuration part 170.These functions are alternatively the functions of Selenium module 530 external disclosure of Figure 24.In addition, the function beyond " getOffsetPositionOfWindow " of this figure can be the function that agent processes portion 166, i.e. Selenium module 530 standards provide.
Agent processes portion 166 agency of the 1st embodiment obtains the homepage that should be shown in Safari browser 562, and adds control routine to homepage.In addition, also agency obtains the frame page that should be shown in the framework of homepage, also adds control routine to each frame page.Now, distribute unique ID to the browser window demonstrating webpage, and also distribute ID to each framework shown on this webpage.Then, the ID distributing to window is managed accordingly with the ID foundation distributing to framework.
Get back to Figure 39, agent processes portion 166 comprises picture position determination portion 600.Evidence thing configuration part 170 comprises object determination portion 612, framework handling part 614, element handling part 619, image acquiring section 625, Images uniting portion 627.Each functional block of this figure, as the functional block of the picture grabgraf process for performing web page contents, also can be called picture grabgraf handling part 629 blanketly.Certainly, each functional block of picture grabgraf handling part 629 also can be supplied to the function of the function of evidence thing configuration part 170 according to agent processes portion 166 and be configured at agent processes portion 166, or is configured at evidence thing configuration part 170.
Agent processes portion 166:
Picture position determination portion 600 realizes the function of the function " getOffsetPositionOfWindow " of Figure 40.That is, for the framework (grabgraf object-oriented framework) specified by the variable with above-mentioned function, derive the display position on picture 630, will represent that the message notice of this display position is to evidence thing configuration part 170.Picture position determination portion 600 comprises window display position obtaining section 602, head zone determination portion 604, client region determination portion 606, framework relative position obtaining section 608, framework display position determination portion 610.
Window display position obtaining section 602 obtains the display position of browser window 632 on picture 630 of display grabgraf object-oriented framework.In the 1st embodiment, obtain with in the left upper end of picture 630 orthogonal coordinate system that is initial point, the coordinate of the left upper end (point 659 of Figure 37) of browser window.
Specifically, window display position obtaining section 602 communicates with the control routine of the homepage comprising grabgraf object-oriented framework, performs " window.ScreenX " in homepage.Then, as rreturn value, obtain the abscissa value (horizontal ordinate 652 of Figure 37) of a little 659.Equally, perform " window.ScreenY " in homepage, as rreturn value, obtain the ordinate value (ordinate 654 of Figure 37) of a little 659.
Head zone determination portion 604 determines the size of the head zone 636 in browser window 632.In the 1st embodiment, head zone 636 is configured in the top of client region 634, therefore head zone determination portion 604 determines the longitudinal length of head zone 636.
Specifically, head zone determination portion 604 communicates with the control routine of the homepage comprising grabgraf object-oriented framework, performs " window.outerHeight " in homepage.Then, as rreturn value, obtain the longitudinal length (longitudinal width 656 of Figure 37) of browser window 632.Equally, perform " window.innerHeight " in homepage, as rreturn value, obtain the longitudinal length (longitudinal width 658 of Figure 37) of client region 634.Head zone determination portion 604, by cutting the longitudinal length of client region 634 from the longitudinal length of browser window 632, derives the longitudinal length of head zone 636.
The display position of client region determination portion 606 according to the browser window 632 on picture 630 and the size of head zone 636, determine the display position of the client region 634 on picture 630.Specifically, the ordinate value of the coordinate of the left upper end of browser window 632 (point 659) is made to add the longitudinal length of head zone 636, and former state uses the abscissa value of the coordinate of point 659, derive the coordinate of the left upper end (point 660) of client region 634.
Framework relative position obtaining section 608 obtains the position of the grabgraf object-oriented framework in client region 634.In the 1st embodiment, obtain with the left upper end of client region 634 (point 660 of Figure 37) in the orthogonal coordinate system of initial point, the coordinate (also claiming " client region internal coordinate " below) of the left upper end of grabgraf object-oriented framework.Such as, when grabgraf object-oriented framework is framework b640, obtain the client region internal coordinate of the point 662 of Figure 37.
Specifically, framework relative position obtaining section 608 communicates with the control routine of the homepage comprising grabgraf object-oriented framework, performs " frame name .frameElement.offsetLeft " in homepage.Then as rreturn value, the abscissa value of the client region internal coordinate of grabgraf object-oriented framework is obtained.Equally, perform " frame name .frameElement.offsetTop " in homepage, as rreturn value, obtain the ordinate value of the client region internal coordinate of grabgraf object-oriented framework.
The position of the display position of client region 634 on picture 630 that framework display position determination portion 610 derives according to client region determination portion 606 and the grabgraf object-oriented framework in client region 634, determines the display position of the grabgraf object-oriented framework on picture 630.Specifically, by the ordinate value of the left upper end coordinate at client region 634 and abscissa value adding respectively ordinate value and the abscissa value of the client region internal coordinate of grabgraf object-oriented framework, derive the coordinate (coordinate on picture 630) of the left upper end of grabgraf object-oriented framework.
Evidence thing configuration part 170:
Object determination portion 612 determines the contents of object should carrying out image grabgraf in web page contents shown on picture 630.Specifically, grabgraf object window, grabgraf object-oriented framework, grabgraf object elements is determined successively.
In the 1st embodiment, user is setting screen grabgraf function (" WebScreenCapture " of such as Fig. 7) in function sets picture 210, and as its variable, setting answers the user of the browser window of grabgraf to distribute ID.Object determination portion 612 is identified as grabgraf object window by distributing browser window corresponding to ID with the user specified by the variable of picture grabgraf function.
In addition, object determination portion 612 is specified and is distributed Selenium corresponding to ID with the user specified by the variable of picture grabgraf function and distribute ID, call function " getAllFrame ".Then, the guide look information (also claiming " framework list " below) of the framework that grabgraf object window comprises is obtained from agent processes portion 166.The ID (also claiming " framework ID " below) of each framework that each framework that Selenium module 530 pairs of grabgraf object windows comprise distributes is comprised in this framework list.Each framework that framework list comprises by object determination portion 612 is identified as grabgraf object-oriented framework.
In addition, object determination portion 612 specifies grabgraf object-oriented framework ID separately, call function " getScrollableElement ".Then, what obtain from agent processes portion 166 that grabgraf object-oriented framework comprises can the guide look information (also claiming " element list " below) of rollover elements.This element list comprises the ID (also claiming " element ID " below) of rotatable each element that grabgraf object-oriented framework comprises.Each element that element list comprises by object determination portion 612 is defined as grabgraf object elements.
Framework handling part 614 performs the preparation process being used for grabgraf object-oriented framework being carried out to grabgraf.Framework handling part 614 comprises framework display position obtaining section 615, framework obtaining section 616, framework scroll process portion 617.
Framework display position obtaining section 615 specifies the framework ID of grabgraf object-oriented framework, call function " getOffsetPositionOfWindow ".Thus, make the picture position determination portion 600 in agent processes portion 166 determine the coordinate of the display position of the grabgraf object-oriented framework represented on picture 630, obtain this coordinate figure from agent processes portion 166.
Framework obtaining section 616 specifies the framework ID of grabgraf object-oriented framework, call function " getScrollRectangleOfElement ".Then, obtaining the not visible part comprising grabgraf object-oriented framework, the overall dimensions being namely just presented at the part picture 630 by making it rolling from agent processes portion 166, is the lateral length (transverse width) and the longitudinal length (longitudinal width) that obtain grabgraf object-oriented framework entirety at this.
Certainly, agent processes portion 166 also when have received the calling of function " getScrollRectangleOfElement ", can perform because of the kind of browser handling part 160 different JAVA scripts in homepage.That is, when being Safari browser 562 as the 1st embodiment, the execution result of " frame name .document.width " can be defined as the transverse width of grabgraf object-oriented framework entirety.Equally, the execution result of " frame name .document.height " can be defined as longitudinal width of grabgraf object-oriented framework entirety.On the other hand, when FF browser 546, the execution result of the execution result of " frame name .window.innerWidth "+" frame name .window.scrollMaxX " can be defined as the transverse width of grabgraf object-oriented framework entirety by browser handling part 160.Equally, the execution result of the execution result of " frame name .window.innerHeight "+" frame name .window.scrollMaxY " can be defined as longitudinal width of grabgraf object-oriented framework entirety.
In addition, framework obtaining section 616 specifies the framework ID of grabgraf object-oriented framework, call function " getClientRectangle ".Then, obtain from agent processes portion 166 comprise grabgraf object-oriented framework viewable portion, namely not roll the size of the part be just presented at picture 630, be the transverse width of the viewable portion obtained in grabgraf object-oriented framework and longitudinal width at this.
Agent processes portion 166, when receiving the calling of function " getClientRectangle ", performs the JAVA script corresponding with this function in homepage.Such as the execution result of " frame name .document.documentElement.clientWidth " can be defined as the transverse width of the viewable portion in grabgraf object-oriented framework.Equally, the execution result of " frame name .document.documentElement.clientHeight " can be defined as longitudinal width of the viewable portion in grabgraf object-oriented framework.
The transverse width of the grabgraf object-oriented framework entirety transverse width of its viewable portion comes except (remainder carry) by framework scroll process portion 617, determines its result for horizontal rolling upper limit number of times.In addition, longitudinal width of grabgraf object-oriented framework entirety longitudinal width of its viewable portion is come except (remainder carry), its result is determined as longitudinal rolling upper limit number of times.
In addition, after being obtained by the image carrying out grabgraf object-oriented framework, framework scroll process portion 617 upper once obtain image before, framework is longitudinally rolled, or makes it longitudinally to roll and laterally roll.Specifically, for performing longitudinal rolling, specifying the framework ID of grabgraf object-oriented framework, horizontal rolling amount is appointed as 0, and as longitudinal rolling amount, specify longitudinal width of the viewable portion of grabgraf object-oriented framework, carry out call function " doScrollFrameTo ".In addition, for performing horizontal rolling, specifying the framework ID of grabgraf object-oriented framework, horizontal rolling amount being appointed as the transverse width of the viewable portion of grabgraf object-oriented framework, and longitudinal rolling amount is appointed as 0, carry out call function " doScrollFrameTo ".
In the 1st embodiment, so-called anti-N-type ground performs rolling.That is, first, framework scroll process portion 617 carries out to fixed lateral position when each image obtains process once longitudinally rolling, until reach its upper limit number of times.Then, make lengthwise position get back to initial position, and perform once laterally rolling.Then, again repeatedly carry out longitudinal rolling to fixed lateral position, until its upper limit number of times.Then, when longitudinal rolling number of times and horizontal rolling number of times all reach upper limit number of times, the scroll process to grabgraf object-oriented framework is terminated.
Element handling part 619 performs the preparation process being used for grabgraf object elements being carried out to grabgraf.Element handling part 619 comprises element relative position obtaining section 620, element display position determination portion 621, elemental range obtaining section 622, element scroll process portion 623.
Element relative position obtaining section 620 specifies the element ID of grabgraf object elements, call function " getOffsetPositionOfElement ".Then, the coordinate (also claiming " framework internal coordinate " below) of left upper end in the orthogonal coordinate system that the left upper end obtaining the framework comprising grabgraf object elements is initial point, grabgraf object elements.Such as the element 644 that framework a638 comprises, obtain the left upper end coordinate putting the element 644 that 662 is initial point.
When agent processes portion 166 receives calling of function " getOffsetPositionOfElement ", perform the JAVA script corresponding with this function at frame page.Such as can perform " masurium .getBoundingClientRect.left ", as its rreturn value, obtain the abscissa value of the framework internal coordinate of grabgraf object elements.Equally, can perform " masurium .getBoundingClientRect.top ", as its rreturn value, obtain the ordinate value of the framework internal coordinate of grabgraf object elements.
Element display position determination portion 621, according to the coordinate of the display position of the grabgraf object-oriented framework on the expression picture 630 obtained by framework display position obtaining section 615 and the framework internal coordinate of grabgraf object elements that obtained by element relative position obtaining section 620, determines the display position of the grabgraf object elements on picture 630.Specifically, added ordinate value and the abscissa value of the framework internal coordinate of grabgraf object elements by the ordinate value of the left upper end coordinate to grabgraf object-oriented framework and abscissa value respectively, derive the coordinate (coordinate on picture 630) of the left upper end of grabgraf object elements.
Elemental range obtaining section 622 specifies the element ID of grabgraf object elements, call function " getScrollRectangleOfElement ".Then, obtaining the overall dimensions of the not visible part comprising grabgraf object-oriented framework from agent processes portion 166, is obtain the transverse width of grabgraf object-oriented framework entirety and longitudinal width at this.
Agent processes portion 166, when receiving the calling of function " getScrollRectangleOfElement ", performs the JAVA script corresponding with this function at frame page.Such as can perform " masurium .scrollWidth ", as its rreturn value, obtain the transverse width of grabgraf object elements entirety.Equally, can perform " masurium .scrollHeight ", as its rreturn value, obtain longitudinal width of the framework internal coordinate of grabgraf object elements.
In addition, elemental range obtaining section 622 specifies the element ID of grabgraf object elements, call function " getClientRectangleOfElement ".Then, obtaining the size of the viewable portion of grabgraf object elements from agent processes portion 166, is the transverse width of the viewable portion obtained in grabgraf object-oriented framework and longitudinal width at this.
When agent processes portion 166 receives calling of function " getClientRectangleOfElement ", perform the JAVA script corresponding with this function at frame page.Such as can obtain the transverse width of execution result as the viewable portion in grabgraf object elements of " masurium .clientWidth ".Equally, the longitudinal width of execution result as the viewable portion in grabgraf object elements of " masurium .clientHeight " can be obtained.
The transverse width of the grabgraf object elements entirety transverse width of its viewable portion comes except (remainder carry) by element scroll process portion 623, determines its result for horizontal rolling upper limit number of times.In addition, longitudinal width of grabgraf object elements entirety longitudinal width of its viewable portion is come except (remainder carry), its result is determined as longitudinal rolling upper limit number of times.
After the image being performed grabgraf object elements obtains, element scroll process portion 623 before once image obtains, makes element longitudinally roll upper, or makes it longitudinally to roll and laterally roll.Specifically, for performing longitudinal rolling, specifying the element ID of grabgraf object elements, horizontal rolling amount is appointed as 0, as longitudinal rolling amount, specify longitudinal width of the viewable portion of grabgraf object elements, such call function " doScrollElementTo ".In addition, for performing horizontal rolling, specifying the element ID of grabgraf object elements, as horizontal rolling amount, specifying the transverse width of the viewable portion of grabgraf object elements, and 0 being appointed as to longitudinal rolling amount, call function " doScrollElementTo " like this.The roll mode of element is the same with the roll mode of already described framework.
Image acquiring section 625 carries out grabgraf according to the display image of display position to grabgraf object-oriented framework of the grabgraf object-oriented framework on picture 630.And according to the display position of the grabgraf object elements on picture 630, grabgraf is carried out to the display image of grabgraf object elements.The head zone 636 of browser window 632 excludes by the image acquiring section 625 of the 1st embodiment from grabgraf object.That is, obtain be excluded the display image of head zone 636, be the display image of grabgraf object-oriented framework purely.
Such as, image acquiring section 625 can the coordinate figure of left upper end of grabgraf object-oriented framework in assigned picture 630 as initial point, and specify the transverse width of the viewable portion of grabgraf object elements and longitudinal width as grabgraf scope, call the picture grabgraf function (API) of OS.Then, the view data of the viewable portion of grabgraf object elements can be made to be kept in storer (clipbook).
In addition, image acquiring section 625 carries out the grabgraf process of grabgraf object-oriented framework repeatedly, until the rolling number of times in length and breadth that framework scroll process portion 617 determines reaches the upper limit.Equally, repeatedly carry out the grabgraf process of grabgraf object elements, until the rolling number of times in length and breadth that element scroll process portion 623 determines reaches the upper limit.Therefore, correspondence is set with framework or the element of scroll bar, the data of multiple grabgraf image is taken in storer.
The Data Synthesis of multiple grabgraf images that the repeatedly image for a grabgraf object-oriented framework obtains acquired by process by Images uniting portion 627 is 1 view data.Then, for 1 grabgraf object-oriented framework, the evidence thing of 1 view data as motion test is stored in result maintaining part 152.Also be the same for element, for a grabgraf object-oriented framework, 1 view data be stored in result maintaining part 152 as the evidence thing of motion test.In addition, if there is repeating part between multiple grabgraf image, then after trimming this repeating part from the grabgraf image of one, 1 image is synthesized.
The following describes the action of above structure.
Figure 41 is the process flow diagram of the action of the image grabgraf process represented in action verifying attachment 100.In motion test performs, if the image grabgraf that have received webpage requires (Y of S600), then the list (S602) of framework that comprises from the grabgraf object window that agent processes portion 166 obtains specified by this requirement of object determination portion 612.One of framework that framework list comprises by object determination portion 612 is defined as grabgraf object-oriented framework (S604).Framework display position obtaining section 615 specifies grabgraf object-oriented framework, makes agent processes portion 166 perform framework display position described later and determines to process (S606).Framework obtaining section 616 obtains the size of grabgraf object-oriented framework entirety and the size (S608) of viewable portion thereof.The size of framework scroll process portion 617 according to grabgraf object-oriented framework entirety and the size of viewable portion thereof, determine the rolling upper limit number of times (S610) in length and breadth that reply grabgraf object-oriented framework performs respectively.
The image of the viewable portion of grabgraf object-oriented framework is temporarily stored into (S612) in storer by image acquiring section 625.If do not reach the upper limit number of times (N of S614) of rolling, then framework scroll process portion 617 makes grabgraf object-oriented framework roll 1 unit quantity, after making displaying contents (i.e. viewable portion) change of grabgraf object-oriented framework thus, return S612 (S616).When reaching the upper limit number of times of rolling (Y of S614), Images uniting portion 627 obtains the multiple grabgraf images temporarily preserved for grabgraf object-oriented framework, sets 1 view data after they being synthesized.Then, the view data after synthesis is stored into (S618) in result maintaining part 152 as the evidence thing of motion test.Certainly, if grabgraf image is originally exactly 1, then just this image is stored in result maintaining part 152 as evidence thing.
Object determination portion 612 obtains the list of the element that grabgraf object-oriented framework comprises from agent processes portion 166.If also have element (i.e. grabgraf object elements) (N of S620) of non-grabgraf, then element relative position obtaining section 620 obtains the position (S622) of the grabgraf object elements in grabgraf object-oriented framework.Element display position determination portion 621, according to the position of the grabgraf object elements in the display position of the grabgraf object-oriented framework on picture and grabgraf object-oriented framework, derives the display position (S624) of the grabgraf object elements on picture.Then S608 is returned.
In the grabgraf process of element, elemental range obtaining section 622 obtains the size of grabgraf object elements entirety and the size (S608) of viewable portion thereof.The size of element scroll process portion 623 according to grabgraf object elements entirety and the size of viewable portion thereof, determine the rolling upper limit number of times (S610) in length and breadth that reply grabgraf object elements performs respectively.The image of the viewable portion of grabgraf object elements is temporarily stored into (S612) in storer by image acquiring section 625.If do not reach the upper limit number of times (N of S614) of rolling, then element scroll process portion 623 makes grabgraf object elements roll after 1 unit quantity, returns S612 (S616).When reaching the upper limit number of times of rolling (Y of S614), Images uniting portion 627 obtains the multiple grabgraf images temporarily preserved for grabgraf object elements, sets 1 view data (S618) after they being synthesized.
When the grabgraf process for all grabgraf object elements completes all (Y of S620), if not yet complete (N of S626) for the grabgraf process of a part of framework of framework list, then return S604, new decision grabgraf object-oriented framework, proceeds process.If all complete (Y of S626) for the grabgraf process of all frameworks of framework list, then terminate the flow process of this figure.Certainly, if the image grabgraf not receiving webpage requires (N of S600), then later process is skipped, and terminates the flow process of this figure.
Figure 42 is the process flow diagram that the framework display position of the S606 representing Figure 41 is in detail determined to process.Window display position obtaining section 602, for the grabgraf object window comprising grabgraf object-oriented framework, obtains its display position (S630) on picture.Head zone determination portion 604 passes through the difference calculating the size of grabgraf object window entirety and the size of client region 634, derives the size (S632) of head zone 636.The display position of client region determination portion 606 according to the grabgraf object window on picture and the size of head zone 636, derive the display position (S634) of the client region 634 on picture.Framework relative position obtaining section 608 obtains the position (S636) of the grabgraf object-oriented framework in client region 634.Framework display position determination portion 610, according to the position of the grabgraf object-oriented framework in the display position of the client region 634 on picture and client region 634, derives the display position (S638) of the grabgraf object-oriented framework on picture.
By the action verifying attachment 100 of the 1st embodiment, only using confirm motion test success or not required for webpage display image as evidence thing preserve.Specifically, by the content of webpage shown in framework itself, namely can exclude the redundances such as head zone, in other words exclude formation to the grabgraf picture cues after the part of the interference of the results verification of motion test to user.Thus, can assist high efficiency motion test.
(the 2nd embodiment)
The web browser that 2nd embodiment of the present invention (also claiming " the 2nd embodiment " below) starts in browser window 632 is that FF browser 546 this point is different from the 1st embodiment.
Figure 43 represents the show example of the web page contents in browser window.For the key element identical or corresponding with the key element of the Figure 37 illustrated before in the key element of this figure, give the label identical with Figure 37, and omit in the following description.As shown in figure 43, the browser window 632 of the 2nd embodiment is different from the browser window 632 of the 1st embodiment, has the status bar of regular length (such as 26 pixels) in the bottom of client region 634.In addition, the browser window 632 of the 2nd embodiment has the frame line 666 that is set to certain degree width (the such as regular length 4 pixel) border as the object (other window or background etc.) with browser window outside.
The major function of the action verifying attachment 100 in the 2nd embodiment forms with the 1st embodiment the same, and main actions is also the same with the 1st embodiment.Below for the action verifying attachment 100 in the 2nd embodiment, illustrate that it is different from the point of the 1st embodiment.
The head zone determination portion 604 of picture position determination portion 600 determines the size of head zone 636 with also considering the size (width) of status bar 664.Specifically, from longitudinal width of browser window 632, deduct longitudinal width of client region 634, and deduct status bar 664 longitudinal length, be predetermined 26 pixels at this, derive the longitudinal length of head zone 636 thus.Certainly, 26 pixels of fixed value say it is alternatively the aggregate value of the longitudinal length of status bar 664 and the width of frame line 666 scrupulously.
The client region determination portion 606 of picture position determination portion 600 determines the display position of the client region 634 in picture 630 with also considering the size (width) of frame line 666.Specifically, the ordinate value of the coordinate of the left upper end of browser window 632 is made to add the longitudinal length of head zone 636, and make the abscissa value of this coordinate add upper ledge line 666 width, be predetermined 4 pixels at this, derive the coordinate of the left upper end of client region 634 thus.
By the action verifying attachment 100 of the 2nd embodiment, even employ the motion test of the web browser of the frame line 666 being configured with status bar 664 and there is certain degree width in browser window 632, the effect the same with the 1st embodiment also can be realized.That is, head zone will can be eliminated and status bar or frame line etc. play the grabgraf picture cues of the part of interference to user to the results verification of motion test.
The present invention is described above based on the 1st embodiment and the 2nd embodiment.This embodiment just illustrates, and those skilled in the art can carry out various distortion to the combination of its each inscape and variety of processes when understanding, and such variation is also contained in scope of the present invention.Represent variation below.
1st variation is described.In the above-described embodiment, be that supposition head zone 636 is configured in the top of client region 634, but the pattern of browser window 632 is not limited thereto.Such as head zone 636 also can be configured in the left side of client region 634.In this case, head zone determination portion 604 can obtain the lateral length of browser window 632 and the lateral length of client region 634, and calculates their difference, determines the lateral length of head zone 636 thus.Then, client region determination portion 606 can make the abscissa value of the left upper end of browser window 632 add the lateral length of head zone 636, and former state uses its ordinate value, derives the coordinate of the left upper end of client region 634.
2nd variation is described.Do not mention especially in the above-described embodiment, but the 1st embodiment and the 2nd embodiment also can be combined, realize in an action verifying attachment 100.Such as, agent processes portion 166 can comprise invoked 1st picture position determination portion when carrying out grabgraf to the display image of the browser window starting Safari browser 562, and when the display image of the browser window to starting FF browser 546 carries out grabgraf invoked 2nd picture position determination portion.Then, agent processes portion 166 can according to become grabgraf object browser window kind and make certain one action.
As another kind of structure, the head zone determination portion 604 of picture position determination portion 600 and client region determination portion 606 can according to becoming the kind of browser window of grabgraf object and certain one of action described in the action performed described in the 1st embodiment or the 2nd embodiment.Certainly, the kind of browser window can by user motion test time variable, specify in various enactment document, and dynamically to read in from OS or browser handling part 160.
3rd variation is described.Illustrate the example that client region 634 is divided into multiple framework in the above-described embodiment, but client region 634 also can not be divided into multiple framework.In this case, as long as client region entirety is considered as a framework by framework handling part 614, action is carried out in the same manner as embodiment.In addition, as long as the element contained by client region entirety is considered as the element contained by a framework by element handling part 619, action is carried out in the same manner as embodiment.
4th variation is described.In the above-described embodiment, as web browser, exemplified with Safari browser 562 and FF browser 546.But the scope of application of technological thought of the present invention is not limited to this several web browser.Such as configuration status hurdle 664 non-in browser window 632, and the web browser of the short of width predetermined value of frame line 666, also can be suitable for the technology of the 1st embodiment.In addition, for being configured with status bar 664, and the web browser of the width of frame line 666 more than predetermined value, also can be suitable for the technology of the 2nd embodiment.In addition, those skilled in the art can understand be configured with status bar 664 but the short of width predetermined value of frame line 666 time and non-configuration status hurdle 664 but the width of frame line 666 are more than predetermined value conversely time, can suitably select the formation of the 1st embodiment and the 2nd embodiment to combine.
5th variation is described.Do not mention especially in the above-described embodiment, but action verifying attachment 100 also can have contrast image maintaining part, preserves for contrasting the contrast image whether consistent with grabgraf image acquired in motion test.This contrast image is the same with the grabgraf image of embodiment, is the view data by framework unit, element unit setting.
In addition, action verifying attachment 100 also can comprise comparing part, judges that whether the grabgraf image as evidence thing is consistent with contrast image.Grabgraf image as evidence thing is the grabgraf image in motion test, is in other words the image synthesized by Images uniting portion 627, is more in other words the grabgraf image be stored in result maintaining part 152.Result of determination whether consistent with contrast image for grabgraf image can be stored in predetermined storage area (file or DB etc.) and inform to user by comparing part.By this variation, the judgement robotization of action normality can be made, the motion test of assist efficient.In addition, due to be in the above-described embodiment exclude head zone after the content of pure web page contents by grabgraf, therefore set (so-called mask process) without the need to the eliminating of control zone, easily can judge that whether grabgraf image is consistent with contrast image.
The combination in any of above-mentioned reference technique, embodiment, variation is also useful as embodiments of the present invention.The new embodiment produced by combining has combined reference technique, embodiment, variation effect separately concurrently.
The function that each constitutive requirements that those skilled in the art can also understand claim record should play can be realized by the monomer of each inscape shown in reference technique, embodiment and variation or its cooperation.
(label declaration)
100 action verifying attachments, 160 browser handling parts, 166 agent processes portions, 170 evidence thing configuration parts, 600 picture position determination portions, 602 window display position obtaining sections, 604 head zone determination portions, 606 client region determination portions, 608 framework relative position obtaining sections, 610 framework display position determination portions, 612 object determination portions, 625 image acquiring section, 627 Images uniting portions, 630 pictures, 632 browser windows, 634 client regions, 636 head zone, 664 status bars, 666 frame lines.
(Industrial Availability)
The present invention can be applicable to the device of the action of test products.

Claims (6)

1. an image capturing device, is characterized in that, comprising:
Display part, makes web displaying that the web application becoming tested object provides on picture,
Window display position obtaining section, for the browser window comprising the client region showing above-mentioned webpage and the head zone being different from above-mentioned client region, obtains the display position of the above-mentioned browser window on above-mentioned picture,
Picture position determination portion, according to the size of the display position of the above-mentioned browser window on above-mentioned picture, the head zone of above-mentioned browser window, determines the display position of the above-mentioned client region on above-mentioned picture, and
Image acquiring section, according to the display position on the determined above-mentioned picture of above-mentioned picture position determination portion, carries out grabgraf to the display image of above-mentioned client region,
Wherein, when above-mentioned browser window can not show the content of whole above-mentioned client region, while make above-mentioned client region roll display, while make above-mentioned image acquiring section obtain the multiple view data comprising a part for above-mentioned client region respectively, and the view data above-mentioned multiple view data being coupled together and obtains is preserved as final grabgraf image.
2. image capturing device as claimed in claim 1, is characterized in that,
The head zone of above-mentioned browser window is got rid of by above-mentioned image acquiring section from grabgraf object.
3. image capturing device as claimed in claim 1, is characterized in that,
Above-mentioned picture position determination portion comprises:
Head zone determination portion, is obtained the length of above-mentioned browser window and the length of above-mentioned client region, is derived the length of above-mentioned head zone by the difference calculating them, and
Client region determination portion, by the display position of above-mentioned browser window that makes on above-mentioned picture according to the length of above-mentioned head zone the position after conjugating, be defined as the display position of the above-mentioned client region on above-mentioned picture.
4. image capturing device as claimed in claim 3, is characterized in that,
In above-mentioned browser window, above-mentioned head zone is configured in the top of above-mentioned client region;
Above-mentioned window display position obtaining section obtains the display position of top-left coordinates as the above-mentioned browser window on above-mentioned picture of the above-mentioned browser window in orthogonal coordinate system;
Above-mentioned head zone determination portion determines the longitudinal length of above-mentioned head zone;
The longitudinal length of above-mentioned client region determination portion by making the ordinate value in the top-left coordinates of above-mentioned browser window add above-mentioned head zone, derives the top-left coordinates of the above-mentioned client region in above-mentioned orthogonal coordinate system.
5. the image capturing device as described in any one of Claims 1-4, is characterized in that,
Multiple framework is comprised in above-mentioned client region;
This device also comprises framework relative position obtaining section, for the grabgraf object-oriented framework in above-mentioned multiple framework, obtains the position of the above-mentioned grabgraf object-oriented framework in above-mentioned client region;
Above-mentioned picture position determination portion, according to the position of the above-mentioned grabgraf object-oriented framework in the display position of the above-mentioned client region on above-mentioned picture and above-mentioned client region, determines the display position of the above-mentioned grabgraf object-oriented framework on above-mentioned picture;
Above-mentioned image acquiring section, according to the display position of the above-mentioned grabgraf object-oriented framework on above-mentioned picture, carries out grabgraf to the display image of above-mentioned grabgraf object-oriented framework.
6. the image acquisition method performed by image capturing device, is characterized in that, comprising:
Make web displaying that the web application becoming tested object provides on picture, for the browser window comprising the client region showing above-mentioned webpage and the head zone being different from above-mentioned client region, obtain the step of the display position of the above-mentioned browser window on above-mentioned picture
According to the size of the display position of the above-mentioned browser window on above-mentioned picture and the head zone of above-mentioned browser window, determine the determining step of the display position of the above-mentioned client region on above-mentioned picture, and
According to the display position on above-mentioned picture determined in above-mentioned determining step, the display image of above-mentioned client region is carried out to the step of grabgraf,
Wherein, carrying out in the step of grabgraf to the display image of above-mentioned client region, when above-mentioned browser window can not show the content of whole above-mentioned client region, while make above-mentioned client region roll display, while obtain the multiple view data comprising a part for above-mentioned client region respectively, and the view data above-mentioned multiple view data being coupled together and obtains is preserved as final grabgraf image.
CN201080043087.0A 2010-09-28 2010-09-28 Image capturing device and image acquisition method Active CN102713876B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/005828 WO2012042561A1 (en) 2010-09-28 2010-09-28 Image acquisition device, image acquisition method, and computer program

Publications (2)

Publication Number Publication Date
CN102713876A CN102713876A (en) 2012-10-03
CN102713876B true CN102713876B (en) 2015-10-21

Family

ID=45892072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080043087.0A Active CN102713876B (en) 2010-09-28 2010-09-28 Image capturing device and image acquisition method

Country Status (3)

Country Link
JP (1) JPWO2012042561A1 (en)
CN (1) CN102713876B (en)
WO (1) WO2012042561A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5639127B2 (en) * 2012-08-15 2014-12-10 株式会社野村総合研究所 Test apparatus, test system, and computer program
JP7433144B2 (en) 2020-06-19 2024-02-19 株式会社オービック Screen shot shooting device, screen shot shooting method and program
CN112037332B (en) * 2020-09-28 2023-09-05 北京百度网讯科技有限公司 Display verification method and device for browser, computer equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079061A (en) * 2007-04-09 2007-11-28 腾讯科技(深圳)有限公司 Web page screen-cutting system and implementation method
WO2008084248A1 (en) * 2007-01-10 2008-07-17 Duncan Bayne Programming methods for electronic signature capture in unmodified web browser

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3363120B2 (en) * 1999-08-30 2003-01-08 ファンクルシステム株式会社 Content collection / pasting method and apparatus, and computer-readable recording medium recording program for content collection / pasting
JP2005051281A (en) * 2003-06-03 2005-02-24 Sony Corp Information processing method, information processing apparatus, and information processing program
JP2005190443A (en) * 2003-12-26 2005-07-14 Hitachi Software Eng Co Ltd Web browser display screen verification method and apparatus
JP2005266954A (en) * 2004-03-16 2005-09-29 Hitachi Software Eng Co Ltd Operation information recording/reproduction apparatus
DE102006036304A1 (en) * 2006-08-03 2008-02-07 Universität Karlsruhe (Th) Method for analyzing and / or testing at least one user interface, data processing device and computer program product
JP2009048569A (en) * 2007-08-22 2009-03-05 Sky Kk Client terminal monitoring system
JP4795404B2 (en) * 2008-08-07 2011-10-19 株式会社野村総合研究所 Operation verification apparatus and operation verification program
JP2010044457A (en) * 2008-08-08 2010-02-25 Sky Co Ltd Operation monitoring system
JP5200979B2 (en) * 2009-02-13 2013-06-05 日本電気株式会社 Image transfer apparatus, method and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008084248A1 (en) * 2007-01-10 2008-07-17 Duncan Bayne Programming methods for electronic signature capture in unmodified web browser
CN101079061A (en) * 2007-04-09 2007-11-28 腾讯科技(深圳)有限公司 Web page screen-cutting system and implementation method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李玉东 等.精通嵌入式linux编程-构建自己的GUI环境.《精通嵌入式linux编程-构建自己的GUI环境》.2010, *

Also Published As

Publication number Publication date
CN102713876A (en) 2012-10-03
WO2012042561A1 (en) 2012-04-05
JPWO2012042561A1 (en) 2014-02-03

Similar Documents

Publication Publication Date Title
US7882444B2 (en) Methods and devices for reconstructing visual stimuli observed through browser-based interfaces over time
CN101587441B (en) Apparatus, method, and system of assisting software development
CN108959059B (en) Test method and test platform
US8306805B2 (en) Scenario generation method and scenario generation apparatus
JP2007172377A (en) Method for analyzing state transition in web page
CN102664748B (en) Interactive electronic technical manual-based online fault diagnosis equipment and online fault diagnosis method
CN111290951B (en) Test method, terminal, server, system and storage medium
CN113868126A (en) Application debugging method, device and storage medium of equipment
CN102713876B (en) Image capturing device and image acquisition method
CN102549556B (en) Image capturing device, image acquisition method and computer program
CN102597965B (en) Operation verification device, operation verification method
JP5038036B2 (en) Test execution system, test execution apparatus, information processing apparatus, test execution method, program, and storage medium
CN112148618A (en) Buried point testing method and buried point testing platform
CN103593429A (en) Commodity template failure detection method and device
JP4795404B2 (en) Operation verification apparatus and operation verification program
CN102782657B (en) Operation verification device and operation verification method
CN105683942A (en) Event chain visualization of performance data
JP4903279B2 (en) Operation verification apparatus, operation verification method, and operation verification program
CN112765040B (en) Page test method, system, computer equipment and storage medium
JP2013037580A (en) Information processor
WO2022230189A1 (en) Test support device, test support method, and program
JP2004013242A (en) Usability evaluation support method
Folmer et al. Cost Effective Development of Usable Systems: Gaps between HCI and Software Architecture Design
CN112860543A (en) Method and electronic equipment for detecting page operation
CN113064632A (en) Front-end project publishing method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant