CN102549556A - Image acquisition device, image acquisition method, and computer program - Google Patents

Image acquisition device, image acquisition method, and computer program Download PDF

Info

Publication number
CN102549556A
CN102549556A CN201080043089XA CN201080043089A CN102549556A CN 102549556 A CN102549556 A CN 102549556A CN 201080043089X A CN201080043089X A CN 201080043089XA CN 201080043089 A CN201080043089 A CN 201080043089A CN 102549556 A CN102549556 A CN 102549556A
Authority
CN
China
Prior art keywords
mentioned
picture
function
grabgraf
browser
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.)
Granted
Application number
CN201080043089XA
Other languages
Chinese (zh)
Other versions
CN102549556B (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 CN102549556A publication Critical patent/CN102549556A/en
Application granted granted Critical
Publication of CN102549556B publication Critical patent/CN102549556B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Abstract

An operation verification device (100) is provided with: a window display position acquisition unit (602) which acquires the on-screen display position of a browser window containing a client region where a web page is displayed and an additional region different from the client region; a client region determination unit (606) which determines the on-screen display position of the client region according to the on-screen display position of the browser window, the size of the additional region in the browser window, and the size of the status bar in the browser window; and an image acquisition unit (625) which captures a display image in the client region according to the determined on-screen display position.

Description

Image capturing device, image acquisition method and computer program
Technical field
The technology of the image of the web page contents that the present invention relates to obtain on the picture and shown.
Background technology
Aspect the assurance product quality, the motion test before the product export is indispensable.In general, be mostly to carry out motion test through Test Engineer's manual operation product and the result that confirms this operation.But, changing (Variation) more rich multifunctional product for operation, manual motion test just is difficult to meet the demands.
Therefore, be mostly through automatically performing laborsavingization that motion test is sought in motion test with test procedure.For example, the automatic functional testing instrument " QTP (Quick Test Professional) " that provides of HP (Hewlett-Packard) company is exactly to realize the robotization of motion test through carrying out user homemade test procedure.
(technical literature formerly)
(patent documentation)
(patent documentation 1) TOHKEMY 2004-227396 communique
Summary of the invention
(inventing problem to be solved)
In the motion test of the web page server that external device (ED) is provided web page contents and the web application of on this web page server, working, to carry out grabgraf to the image that is shown in the web page contents on the external device (ED) sometimes.Then, through confirm this grabgraf image by the Test Engineer, confirm the normality of moving.
Yet when using various web browsers to carry out the motion test of product, the display format of the window of starting web browser (following also claim " browser window ") is different because of web browser.Therefore, the inventor recognizes that browser window integral body seems different sometimes, can reduce the efficient of motion test when making different web browsers show identical web page contents.
The present invention is based on the inventor's above-mentioned problem and is familiar with and the invention of completion, and its fundamental purpose is to provide a kind of technology at the display image of the high web page contents of motion test convenience that is used for obtaining.
(being used to solve the means of problem)
For solving above-mentioned problem; The image capturing device of a scheme of the present invention comprises: the window's position is obtained portion; To client region that comprises display web page and the browser window that is different from the additional areas of client region, obtain the display position of the browser window on the picture; Portion is confirmed in the picture position, according to the size of the status bar of the size of the additional areas of the display position of the browser window on the picture, browser window and browser window, confirms the display position of the client region on the picture; Image is obtained portion, confirms the display position on the determined picture of portion according to the picture position, and the display image of client region is carried out grabgraf.
Another program of the present invention is a kind of image acquisition method.This method is carried out by image capturing device, comprising: to client region that comprises display web page and the browser window that is different from the additional areas of client region, obtain the step of the display position of the browser window on the picture; According to the size of the status bar of the size of the additional areas of the display position of the browser window on the picture, browser window and browser window, confirm definite step of the display position of the client region on the picture; According to the display position on the determined picture in confirming step, the display image of client region is carried out the step of grabgraf.
Certainly, with the combination in any of above inscape, the form of expression of the present invention embodiment after conversion between device, method, system, program, recording medium of having program stored therein etc., also be effective as scheme of the present invention.
(invention effect)
Through the present invention, can obtain the display image of the web page contents that convenience is high in motion test.
Description of drawings
(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.
The figure of the daily record when Fig. 2 is the test of expression execution dictionary.
Fig. 3 is the figure that expression is used to carry out the program of dictionary test.
Fig. 4 is the functional block diagram of action verifying attachment.
Fig. 5 is to obtaining daily record and carrying out the synoptic diagram of motion test.
Fig. 6 is the picture figure of daily record picture.
Fig. 7 is the picture figure that function is set picture.
Fig. 8 is the picture figure of program picture.
Fig. 9 is the picture figure that picture is set in input.
Figure 10 is the picture figure that example is set picture.
Figure 11 is the figure of summary of action verifying attachment formation separately of action verifying attachment and the reference technique 2 of expression reference technique 1.
Figure 12 is the figure of summary of action verifying attachment action separately of action verifying attachment and the reference technique 2 of expression reference technique 1.
Figure 13 is the block diagram that the function of the action verifying attachment of expression reference technique 2 constitutes.
Figure 14 is a synoptic diagram of in reference technique 2, to detecting the user's data input operation, carrying out motion test.
Figure 15 is the picture figure that the function in the reference technique 2 is set picture.
Figure 16 is the picture figure that the function in the reference technique 2 is set picture.
Figure 17 is the picture figure that picture is set in the input in the reference technique 2.
Figure 18 is the picture figure that the example in the reference technique 2 is set picture.
Figure 19 is the figure of expression to the characteristic of two kinds of modes of operation of web browser.
Figure 20 is the figure of the call relation under two modes of operation that are shown schematically in to web browser, between function.
Figure 21 is the block diagram that the function of the action verifying attachment of expression reference technique 3 constitutes.
Figure 22 is the block diagram of details of the program execution department of expression Figure 21.
Figure 23 is the process flow diagram of action of the action verifying attachment of expression reference technique 3.
Figure 24 is the figure of call relation between the function that schematically shows in the motion test of webpage.
Figure 25 is the figure of the data example stored in the expression Selenium window manager.
Figure 26 is the figure of expression to the mode of the operation of the FF dialog box of Figure 24.
Figure 27 is the figure of expression to the mode of the operation of the Safari dialog box of Figure 24.
Figure 28 is the block diagram that the function of the action verifying attachment of expression reference technique 4 constitutes.
Figure 29 is the block diagram of details of the program execution department of expression Figure 28.
Figure 30 is the process flow diagram of action of the action verifying attachment of expression reference technique 4.
Figure 31 representes that in detail the test procedure of the S402 of Figure 30 reads in the process flow diagram of processing.
Figure 32 is the process flow diagram of web browser start up process of representing the S419 of Figure 30 in detail.
Figure 33 is a process flow diagram of representing that in detail the web page operation of the S426 of Figure 30 is handled.
Figure 34 representes that in detail the Mac of S452 of Figure 33 is with the process flow diagram of operational processes.
Figure 35 representes that in detail the IE of S458 of Figure 33 is with the process flow diagram of operational processes.
Figure 36 representes that in detail the FF of S462 of Figure 33 is with the process flow diagram of operational processes.
Figure 37 is the figure of the demonstration example of the web page contents in the expression browser window.
Figure 38 is the figure of grabgraf image of the browser window of expression Figure 37.
Figure 39 is the block diagram that the function relevant with the processing of picture grabgraf in expression the 1st embodiment constitutes.
Figure 40 is the graph of function that expression agent processes portion provides to evidence thing configuration part.
Figure 41 is the process flow diagram of the image grabgraf processing action in the expression action verifying attachment.
Figure 42 is the definite process flow diagram of handling of framework display position that is shown specifically the S606 of Figure 41.
Figure 43 is the figure of the demonstration example of the web page contents in the expression browser window.
Embodiment
Before the action verifying attachment of this embodiment of explanation, through reference technique 1, reference technique 2, reference technique 3, reference technique 4 structure that becomes its prerequisite is described earlier.
(reference technique 1)
(a) of Fig. 1 is the picture figure of portal site first picture 300.
In reference technique 1, explain 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.The user behind some in input of character string and the click retrieval link 304, has just begun the retrieval of input of character string in edit box 302.During for example input of character string " liquid crystal " in edit box 302, and click link " webpage ", the website that comprises character string " liquid crystal " just becomes searching object.And if input of character string " liquid crystal " and click link " blog " in edit box 302, the blog page or leaf that comprises character string " liquid crystal " in the blog of then being offered in this portal site (Weblog) just becomes searching object.
At this, suppose and in edit box 302, imported character string " test ", and click link " dictionary ".
(b) of Fig. 1 is the picture figure of portal site second picture 310.
After input " test " and the click " dictionary ", represented portal site second picture 310 of (b) of Fig. 1 just is revealed in portal site first picture 300.Through " dictionary " service that this portal site provided, enumerated in result for retrieval hurdle 306 with the object that this character string " test " is associated.
Here, supposed click the uppermost link on result for retrieval hurdle 306 " test (test) ".
In said process, below shown in three operations carried out.
A1. the operation of input of character string " test " in the edit box 302 of portal site first picture 300.
A2. the operation of the link " dictionary " in the retrieval of click portal site first picture 300 link 304.
The operation of the A3. link in the result for retrieval hurdle 306 of click portal site second picture 310 " test (test) ".
Below, the course of action that will realize through the operation of above-mentioned A1~A3 is called " dictionary test ".
Fig. 2 is the figure that the daily record 320 when dictionary is tested has been carried out in expression.
The client terminal that has been imported into the QTP of Hewlett-Packard Corporation in operation visits above-mentioned portal site, and has carried out under the situation of operation of A1~A3, and QTP generates daily record 320 shown in Figure 2.The sign indicating number literary composition that operation A 1~A3 is used as predetermined format is recorded in the daily record 320.
For example, operation A 1 is expressed as
Browser (" XYZ! ") .Page (" XYZ! ") .WebEdit (" p ") .Set " test "
Sign indicating number literary composition like this.Its meaning be to " XYZ! " website, the name be called " " webpage, edit box that name is called " p " (being equivalent to the edit box 302 shown in (b) of (a), Fig. 1 of Fig. 1) imported character string " test ".
Equally, operation A 2 is shown as
Browser (" XYZ! ") .Page (" XYZ! ") .Link (" dictionary ") .Click
Operation A 3 is shown as
Browser (" XYZ! ") .Page (" XYZ!-all dictionary-test ") .Link (" test (test) ") .Click
Sign indicating number literary composition like this.In reference technique 1, be based on that the grammer of QTP describes, but the form of sign indicating number literary composition is not limited to this.
QTP can reproduce the expressed operation of actuating code literary composition while the sign indicating number literary composition of explaining daily record 320.Therefore, in case generated daily record 320, just can repeat the dictionary test of same content arbitrarily inferiorly.In addition, as long as rewrite the part of daily record 320, just can the content when being different from manual operation carry out dictionary and test.For example, will
Browser (" XYZ! ") .Page (" XYZ! ") .WebEdit (" p ") .Set " test "
In the character string " test " that comprised be altered to other character string " survey-examination ", be rewritten into
Browser (" XYZ! ") .Page (" XYZ! ") .WebEdit (" p ") .Set " survey-examination "
And be input among the QTP, then can automatically perform the dictionary test of the same content of the input of character string that has only changed edit box 302.
But, rewrite daily record 320 ground and carry out motion test, need to have knowledge to a certain degree to the grammer of daily record 320.The mistake of artificial property might take place when rewriting daily record 320 in addition.
Fig. 3 is the figure that expression is used to carry out the program 330 of dictionary test.
Also can be carry out motion tests through daily record 320, but through carrying out test procedure with record such as VB (Visual Basic) script and daily record 320 equal contents.Program 330 shown in Figure 3 is the test procedures that are compiled into reference to the daily record 320 of Fig. 2.
For example, operation A 1 is expressed as
WebEditSet(Browser(″XYZ!″).Page(″XYZ!″).WebEdit(″p″),DataTable(″p1,dtGlobalSheet″)
Such VB function.The concrete logic of WebEditSet function is as this figure middle part is recorded and narrated.
Do not comprise on the such input data this point of character string " test " in program 330, program 330 is different from daily record 320.As alternative means, the WebEditSet function is to accept the input data from the file that is expressed as dtGlobalSheet (calling " input data file " in the following text).That is, logical and input data are separated.Through the rewriting or the replacement of input data file, can carry out the dictionary test of same logic based on various input data.With compare based on manual motion test or based on the motion test of daily record 320, have the such advantage of variation that is easy to increase the input data based on the motion test of program 330.
But, have following problem in the motion test based on program 330.
D1. the time that needs new cost programming.
D2. different according to the program builder, the content of program can change.For example, programmer P1 is directed against the WebEditSet function that operation A 1 is worked out to the WebEditSet function and the programmer P2 of operation A 1 establishment, even function name is identical, logic also may not be identical.In addition, program itself also might have been sneaked into leak (bug).Therefore, just need be used to guarantee the measure of the reliability of program 330 self.In addition, also need make an exception in the program 330 to handle and wait the logic that does not have direct relation with motion test, but may not all programmers all can enroll the logic of considering that exception is handled.For example under the situation of WebEditSet function shown in Figure 3, having enrolled and having tackled the input data is the logic of the situation of NUL, but other programmers may miss such consideration when establishment WebEditSet function.
As a result, the content results of motion test receives the influence of programmer's level easily.
Fig. 4 is the functional block diagram of action verifying attachment 100.
For each functional block shown in the block diagram of this instructions, can realize with element such as the CPU of computing machine or mechanical hook-up on the hardware, can wait through computer program on the software and realize, at this, the functional block that realizes through their combination is described.Therefore, those skilled in the art can realize with various forms through the combination of hardware, software when understanding these functional blocks.For example, each functional block can be used as computer program and is stored in the recording medium, in the hard disk that is installed to signal conditioning package, and in time is read into primary memory and is processed device and carries out.
Action verifying attachment 100 can be formed specialized hardware, also can be formed the software module of web browser etc. and user interface collaboration.
The action verifying attachment 100 of technology 1 explains that it is formed the situation of the software module of the add-on assemble of QTP (add-on) as a reference.
Action verifying attachment 100 comprises IF (interface) portion 110, data processing division 130 and data maintaining part 140.
IF portion 110 is responsible for the interface with user, QTP.Data processing division 130 is carried out various data processing based on the data that obtain from IF portion 110, data maintaining part 140.Data processing division 130 is also brought into play the effect of the interface of 140 of IF portion 110 and data maintaining parts.Data maintaining part 140 is the storage areas that are used to keep various data.
IF portion 110:
IF portion 110 comprises input part 112 and efferent 118.Input part 112 is responsible for handling from the input of user and QTP, and efferent 118 is responsible for handling to the output of user and QTP.Input part 112 comprises that daily record obtains portion 114 and obtains portion 116 with the input data.Daily record obtains portion 114 and obtains daily record from QTP.The input data obtain portion 116 and obtain input data file, and obtain the input data of the program that will offer from input data file.About the details of input data file, will combine Fig. 5 and Fig. 9 to be described in detail.
Efferent 118 comprises that function is set picture display part 120, input is set picture display part 122, program picture display part 124 and example and set picture display part 126.Function is set picture display part 120 makes function setting picture 210 shown in Figure 7 show.Picture display part 122 is set in input makes input setting picture 230 shown in Figure 9 show.Program picture display part 124 makes program picture 220 shown in Figure 8 show.Example is set picture display part 126 makes example setting picture 240 shown in Figure 10 show.
Data processing division 130:
Data processing division 130 comprises program generation portion 132, program execution department 134 and test case login portion 136.Program generation portion 132 generates the program that motion test is used automatically.Program execution department 134 make the program that generated carry out.In reference technique 1, be to make the QTP executive routine.Test case login portion 136 will carry out collection (set) login in the example file.About carrying out collection and example file, will combine Figure 10 to be described in detail.
Data maintaining part 140:
Data maintaining part 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 maintaining part 152 (following also claim " test result maintaining part 152 ") as a result.Daily record maintaining part 142 keeps daily record.Program maintaining part 144 maintenance programs.Input data file maintaining part 146 keeps input data file.Example file maintaining part 148 keeps the example file.Function maintaining part 150 keeps being signed in to the function library of the function in the program that motion test uses.Maintaining part 152 keeps the result of motion test as a result.
Fig. 5 is the synoptic diagram till obtain daily record and carry out motion test in reference technique 1.
At first, the subject machine of manual operation motion test.In reference technique 1, the web browser at operated client terminal, the access entrance website " XYZ! ".QTP generates daily record, and daily record obtains portion 114 and obtains daily record from QTP.Various sign indicating number literary compositions and function in advance establish corresponding relation.Function is set the function library of picture display part 120 function reading maintaining parts 150, and make with daily record in the corresponding function guide look demonstration (S1) of each yard literary composition that comprised.Set in the picture display part 120 at function, the user can append, change, delete function as required.The function that should be comprised in the program like this, just has been determined.About S1, will detail in the back in combination with Fig. 7.
Next, setting should offer the input data (S2) of this program.Setting content is logined with the form of input data file.About S2, will combine Fig. 9 to detail in the back.Be based on the function group automatically generating program of setting among the S1 (S3).About S3, will combine Fig. 8 to detail in the back.
Next, based on multiple program and multiple input data file, the combination of program and input data file is logined as " carrying out collection ".Also can login a plurality of execution collection (S4).Setting content is by the form login with the example file.For example, when wanting to make after again under the situation based on input data file F6 executive routine P2 based on input data file F2 executive routine P1, by with
Carry out collection 1: program P1+ input data file F2
Carry out collection 2: program P2+ input data file F6
Form sign in in the example file.About S4, will combine Figure 10 to detail.
At last, according to example file executive routine (S5).Under the situation of above-mentioned example, program execution department 134 makes execution collection 1 and carries out collection 2 execution continuously.Program execution department 134 with the program implementation result, in other words be that test result is signed in to as a result in the maintaining part 152.
Fig. 6 is the picture figure of daily record picture 200.
After daily record obtained portion 114 and obtains daily record, efferent 118 made the daily record picture be presented at the journal displaying zone 202 in the daily record picture 200.The user also can duplicate the daily record of QTP and paste in the journal displaying zone 202.Perhaps, also can be efferent 118 obtains the daily record (file) that QTP generates when daily record picture 200 shows, and makes it picture and be presented in the journal displaying zone 202.Behind user's click executive button 204, ensuing function shown in Figure 7 is set picture 210 and is revealed.
Fig. 7 is the picture figure that function is set picture 210.
Program generation portion 132 is directed against the sign indicating number literary composition that daily record comprised and confirms function, and definite function guide look is presented in the function hurdle 214 of function setting picture 210.Numbered bin 212 expression execution sequences are explained the summary description of hurdle 216 representative functions, the object (object) of object hurdle 218 expression operands, variable hurdle 219 expression variable names, input value hurdle 217 expression input data.
Sign indicating number literary composition for aforesaid expression operation A 1
Browser (" XYZ! ") .Page (" XYZ! ") .WebEdit (" p ") .Set " test "
, the WebEditSet function establishes corresponding relation in advance with it in function library.After first yard literary composition of daily record 320 is read by program generation portion 132,, confirm the WebEditSet function with reference to the function library of function maintaining part 150.Because be used as in the operation A 1 operand to as if " Browser (" ") .Page (" XYZ! ") " page or leaf, so be set to " Browser (" in the object hurdle 218 XYZ! ") .Page (" XYZ! ") ".The WebEditSet function is to be the function of independent variable with the input data that are set among the edit box p (edit box 302).Though also can in input value hurdle 217, set the input data that should be set among the edit box p, suppose that here in function setting picture 210, logining the input data conditions describes.The input data that should be set among the edit box p are set in the input setting picture 230 that will combine Fig. 9 to detail.
Owing to include three sign indicating number literary compositions corresponding to operation A 1~A3 ground in the daily record 320, program generation portion 132 confirms three functions.The user also can set at function and append, deletes, changes function in the picture 210.The 4th TextCheck function and the 5th WebScreenCapture function among Fig. 7 are the functions that the user appends selection.
The TextCheck function is to judge the function that whether comprises the character string that is assigned variable q in the webpage that is showing.The WebScreenCapture function is the function that the webpage that is showing is carried out the picture grabgraf.Demonstrate,prove the mark management aspect in the result to motion test, the WebScreenCapture function is a function very easily.Like this, not only have the such corresponding function of the operation with the user of WebEditSet function in the function library, also have the such function that is used for auxiliary support motion test of TestCheck function.The user just can set the logic of wanting to be included in the motion test as long as from function library, select desirable function.
When test case was set button 215 by click, the example of Figure 10 was set picture 240 and is revealed.When input data file generated button 213 by click, the input of Fig. 9 was set picture 230 and is revealed.When program generated button 211 by click, the program picture 220 of Fig. 8 was revealed.
The action verifying attachment 100 of reference technique 1 has following advantage.
M1. only based on GUI (Graphical User Interface: graphical user interface) choice function, just can select to want to be included in the logic in the program.Need spend the time that is used to program hardly.
M2. the function that is comprised in the program is the function of having been logined in function library, so be difficult to the different deviations that program quality occurs because of the organizer.The logic of necessity such as exception processing has also been enrolled in each function in advance.
Fig. 8 is the picture figure of program picture 220.
In function is set picture 210, if program generates button 211 by click, program generation portion 132 generator programs then, program picture display part 124 is presented in the program display zone 222 in the program picture 220 its source code.Program is maintained in the program maintaining part 144.
Fig. 9 is the picture figure that picture 230 is set in input.
Set in the picture 210 at function, generate button 213 by click as if input data file, then input setting picture display part 122 shows input setting picture 230.Set in the picture 210 at function, variable p and q have been defined.Numbered bin 232 expression input sequences, 234 expressions of variable hurdle are to the input data of variable p, and 236 expressions of variable hurdle are to the input data of variable q.Set in the picture 230 in input, set the input data of wanting assignment to give this variable p and q.Each is imported data and is used as input data file and remains in the input data file maintaining part 146.
For example if give the input data file with program 330 form shown in Figure 9, then as
1. character string " test " is input in the edit box 302 and retrieves dictionary, and judge the test that whether includes character string " test " in the picture of representing execution result
2. character string " test " is input in the edit box 302 and retrieves dictionary, and judge the test that whether includes character string " test " in the picture of representing execution result
3. character string " test case " is input in the edit box 302 and retrieves dictionary, and judge the test that whether includes character string " test " in the picture of representing execution result
Carry out a plurality of dictionary tests like this, continuously based on different input data.
Figure 10 is the picture figure that example is set picture 240.
Set in the picture 210 at function, if test case is set button 215 by click, then example setting picture display part 126 shows example setting picture 240.Numbered bin 244 expression execution sequences are carried out the summary that collection is carried out in 245 expressions of collection hurdle, and programs column 246 expressions become the program of carrying out object, the input data file of the extraction object of input data file hurdle 247 expressions becoming input data.
Here, the website with the online securities is that the motion test object describes.
In the figure, 1. login (login), 2. check news, 3. sell stock, 4. sell bond, 5. change of residence, 6. withdraw from (logout) these six and carry out collection and logined.At first, QTP is based on program " login.vbs " generation " login " project.Here so-called " project " is the catalogue that comprises the execution formatted file crowd of QTP.QTP serves as that predefined processing among login.vbs and the login.xls is carried out in input with " login " project.If user's click executive button 248, " login " project of then carrying out collection " logining " before this is performed.After first carried out collection " logining " completion, as carrying out collection " checking news ", " ncheck " project was performed.
Like this, after executive button 248 is by click, 1. login (login), 2. check news, 3. sell stock, 4. sell bond, 5. change of residence, 6. withdraw from (logout) these six and carry out collection and carried out continuously.Thus, can be with motion test robotization based on " login earlier, the institute's share-holding ticket and the bond of holding are sold in indication after checking news, behind change residence, withdraw from again " such test drama (scenario).
The user can set at example and freely make the test drama in the picture 240.For example can login and carry out collection " buying in stocks " and replace and carry out collection " selling stock ", in addition,, also can not login " stock1.xls " but login other input data file as the input data file of carrying out collection " selling stock ".Set the test drama of being logined in the picture 240 at example and be used as the example file logging, and be maintained in the example file maintaining part 148.
Formation through little by little changing the test drama or input data file etc. are easy to expand the variation of motion test.
The action verifying attachment 100 of reference technique 1 more than has been described.
Through action verifying attachment 100, can separable programming and the input data, promptly can make to handle to be separated with variable.And, can generate automatically based on the setting of gui interface its program that will use.Thus, the diversity of the logic in the program can be both guaranteed to be included in, stay-in-grade program can be generated simply again.In addition, just can change the content of motion test owing to only change the content of input data file, so be easy to expand the variation of motion test.
And then, in the example file, make the test drama through carrying out the collection login, can make up existing program ground and realize the motion test under various situation.In addition; Owing to not only have the such function that is used for the operational testing subject machine of WebEditSet function; Also have the such function that is used for the auxiliary movement test of WebScreenCapture function, so be easy to further improve the efficient and the reliability of motion test.
(reference technique 2)
In reference technique 2, propose a kind of to the action verifying attachment 100 after above-mentioned reference technique 1 improvement.
At first, relatively the action verifying attachment 100 of action verifying attachment 100 in the reference technique 1 and reference technique 2 is explained the summary of the action verifying attachment 100 of reference technique 2.
Figure 11 representes the summary of the formation of action verifying attachment 100 in separately of action verifying attachment 100 and the reference technique 2 of reference technique 1.Shown in Figure 11 (a), the action verifying attachment 100 of reference technique 1 has the QTP module 102 and wrapper (Wrapper) module 104 that is used to make the motion test high efficiency of the web page server 400 that has utilized QTP module 102 as the execution engine of motion test.This wrapper module 104 comprises each functional block shown in Figure 4.
In (a) of Figure 11, the user is through the web page server 400 (S100) of QTP module 102 operations as the object apparatus of confirming operation.Wrapper module 104 obtains the daily record that records its content of operation from QTP module 102, function is set picture 210 offer user (S102).When the user carries out in motion test, make that in wrapper module 104, generating the readable motion test of QTP module uses program, and make QTP module 102 carry out this program (S104).
Different therewith, the action verifying attachment 100 of the reference technique 2 shown in Figure 11 (b) the has had integration integration inspection module 106 of function of function and wrapper module 104 of execution engine of motion test.User (S200) when the integration inspection module 106 operation web page servers 400, integration inspection module 106 detects its content of operation one by one, sets the data that function is set picture 210, and function is set picture 210 offers user (S202).The user makes in integration inspection module 106, to generate and carry out motion test with program (S204) when carrying out motion test.
Figure 12 representes the summary of the action of action verifying attachment 100 in separately of action verifying attachment 100 and the reference technique 2 of reference technique 1.(a) of Figure 12 expresses the summary of the action in the action verifying attachment 100 of reference technique 1.The user carries out the data input operation (S110) to web page server 400,102 output records of QTP module the daily record of its content of operation (S112).The user copies to the data of this daily record the predetermined input area (S114) of QTP module 102.Wrapper module 104 is set function and is set picture and make it to show (S116) based on the data that are set at the daily record in the predetermined input area, and the user sets picture through this function and sets the function input data (S118) that should append, change.
The data that wrapper module 104 is set picture based on function generate be used for motion test QTP with program (S120).The user arrives QTP the predetermined input area (S122) of QTP module 102 with program copy.The user sets at example and sets in the picture that to use program and input data file with QTP be the drama (S124) of the motion test of collection (set) and appointment.Wrapper module 104 is given QTP module 102 with QTP with the collection of program and input data file based on this drama, collects by each to make motion test carry out (S126).
(b) of Figure 12 expresses the summary of the action in the action verifying attachment 100 of reference technique 2.The user carries out the data input operation (S210) to web page server 400.Integration inspection module 106 detects its data input operation one by one, the function corresponding with the data input operation is recorded in the content of operation file, and set the record data (S212) of this content of operation file of screen displayed at function.The user sets function and the input data setting (S214) in the content of operation file that picture should append, change through this function.Then, the user sets at example that to set in the picture with content of operation file and input data file serve as to collect and the drama (S216) of the motion test of appointment.The motion test that integration inspection module 106 generates in the drama more than one collection intensive based on this drama is with program and carry out (S218).
Like this, in the action verifying attachment 100 of reference technique 1, QTP module 102 is separated with wrapper module 104.Therefore, connect, need user oneself to carry out intermediary's operation for making two modules.In addition, wrapper module 104 need collect to interior each of drama calls QTP module 102, need collect by each program used for test is carried out.
Different therewith, in the action verifying attachment 100 of reference technique 2, the execution engine of motion test with realize that its efficient wrapper of utilizing is not separated, but together by integration seamlessly.Therefore, compare with the action verifying attachment 100 of reference technique 1, originally for making the module that is separated connect the required user job no longer needs that become, the workload that is used for the user of motion test has reduced.In addition, owing to be to generate program is used in the intensive motion test of a plurality of collection in the drama, and carry out a succession of drama through this program implementation, so can realize motion test rapidly.
Figure 13 is the block diagram that the function of the action verifying attachment 100 of expression reference technique 2 constitutes.The functional block of this figure is comprised in Figure 11's the integration inspection module 106 shown in (b).Marked identical label with the corresponding functional block of the functional block of reference technique 1 in the functional block of reference technique 2.About having given the functional block with the functional block same numeral of reference technique 1, only, its function describes when being different from the content of having stated in the reference technique 1, omit its explanation for same function.
Data maintaining part 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 is used for stored record to be had and should be set in the content of operation file of motion test with the function of program.Program is used in the motion test that 144 storages of program maintaining part generate by the content of operation file.
The input part 112 of IF portion 110 has operation detection part 115 and sets the portion 117 that accepts with the user.Operation detection part 115 detects the data input operation of user to web page server 400 one by one.The user sets the portion that accepts 117 and detects the user sets picture 240 to function setting picture 210, input setting picture 230, example set information.
The efferent 118 of IF portion 110 has function and sets picture display part 120, input setting picture display part 122, example setting picture display part 126.Function is set picture display part 120 is presented in the predetermined display device function setting picture 210, and this function is set the content that picture 210 is used for showing the content of operation file that is recorded in content of operation file maintaining part 143.
Data processing division 130 has program generation portion 132, program execution department 134, test case login portion 136, operation note portion 137, input data recording section 138.Operation note portion 137 confirms and the corresponding function of data input operation that in operation detection part 115, is detected with reference to function maintaining part 150, this function is recorded in the content of operation file.In addition, operation note portion 137 is recorded in the set information that the user sets picture 210 to function in the content of operation file.Input data recording section 138 is recorded in the input data that the user sets picture 230 inputs through input in the input data file.Program generation portion 132 generates motion test and uses program according to being recorded in function in the content of operation file.Program execution department 134 is as the execution engine of motion test and carry out motion test and use program, and with its outcome record in maintaining part 152 as a result.
Figure 14 is the synoptic diagram till detect the user's data input operation and carry out motion test in the reference technique 2.At first, the web browser accessed web page server 400 at user's operated client terminal is carried out the various operations to web page server 400, is typically the data input operation of the webpage that execution provided web page server 400.Operation detection part 115 detects the user's data input operation one by one, the function library of operation note portion 137 function reading maintaining parts 150, and function that will be corresponding with this data input operation records (S220) in the content of operation file one by one.
Next, function is set the content of operation file of picture display part 120 read operation content file maintaining parts 143, makes guide look show that the function setting picture of the function corresponding with user's operation shows.In function was set picture, the user can append, change, delete function as required, and can set and should be set in motion test statically with the input data in the program.Like this, should be included in motion test just has been determined with the function in the program.Set picture about function, will combine Figure 15 and Figure 16 to narrate in the back.
Next, input setting picture display part 122 shows input setting picture 230.The user sets picture 230 settings through input should dynamically offer the input data of motion test with program when motion test is carried out.The input data that the user sets are recorded in (S222) in the input data file.Set picture 230 about input, will combine Figure 17 to narrate in the back.
Next, example setting picture display part 126 shows example setting picture 240.The user is based on multiple content of operation file and multiple input data file, the combination of content of operation file and input data file logged on as carry out collection.Test case login portion 136 is recorded in (S224) in the example file with more than one execution collection.For example, in test case 1, if will after the setting content that makes content of operation file F01 based on input data file F12 is carried out, based on input data file F16 the setting content of content of operation file F02 be carried out again, then with
Test case 1:
Carry out collection 1: content of operation file F01+ input data file F12
Carry out collection 2: content of operation file F02+ input data file F16
Form sign in in the example file.Set picture 240 about example, will combine Figure 18 to narrate in the back.
Next, program generation portion 132 generates motion test with program (S226) based on example file and content of operation file.Specifically, can carry out the function that collects in the content of operation file that sets, be set at the program code of motion test successively with program with being recorded in successively.In addition, when in a test case, being set with a plurality of execution collection, program generation portion 132 will be recorded in that function in each content of operation file of carrying out collection is intensive to be set a motion test for and use program.
In addition, be set with at the function to the content of operation file under the situation of input data itself, program generation portion 132 should import data and be set to motion test statically with in the program.For example, when program is used in the generation motion test, preestablish the input data as the argument of function in this program code.In addition, have under the situation of input data file specifying, set and make the data of when program is carried out, reading in this input data file to the function of content of operation file.
At last, program execution department 134 is carried out motion test and is used program, reproduces a succession of operation (S228) that the user carries out web page server 400.For the function of the data that need input data file, the data of the input data file that is read in when motion test is carried out with program pass to it as independent variable.That is, carry out function based on the input data that dynamically obtain from input data file.
Figure 15 is the picture figure that function is set picture 210.The figure shows the function that shows " .xls is charged in retrieval " that in Figure 18 of back, to narrate and set picture 210.Data file row name (column name) hurdle 250 is the zones that are used to specify the row name of input data file, and this input data file records the input data that will set to variable.The user can record and narrate input data itself in input value hurdle 217, also can be not like this, but in data file row name hurdle 250 the row name of appointment input data file.When the row name that input data file is arranged in the data file row name hurdle 250 was designated, when motion test was carried out with program, the more than one input data that are set in the row of this input data file can be read and pass to function.
Figure 16 is the picture figure that the function in the reference technique 2 is set picture 210.In the input value hurdle 217 of " search part signature " variable of this figure, the candidate of input data is by with drop-down list 252 guide look demonstrations.The input data candidate who is shown in the drop-down list 252 is webpage to be carried out the data input the user time to be displayed on the input data candidate in the drop-down list of this webpage.The user can select the input data from drop-down list 252, can alleviate the burden of user in setting the input data procedures.
For setting drop-down list 252, operation detection part 115 obtains the candidate of the input data in the drop-down list that when the user carries out the data input operation to webpage, is presented at this webpage.For example, based on data, the for example html data of the webpage of obtaining from web page server 400, obtain the input data candidate in the drop-down list.Operation note portion 137 will import the data candidate record in the input value hurdle 217 of content of operation file.When function setting picture display part 120 has input on input value hurdle 217, the input data candidate who is recorded in the content of operation file is had a guide look of with the form of drop-down list show.
Figure 17 is the picture figure that picture 230 is set in the input in the reference technique 2.(a) of Figure 17 represented that input sets picture 230, and this input is set function that picture 230 is presented at Figure 15 and Figure 16 and set the input data file of designated row in the picture 210 and " retrieve data-in .xls ".In Figure 15 and Figure 16, (a) of Figure 17 " name Chinese character " row are designated with " name pronunciation " row.(b) of Figure 17 represented the input setting picture 230 that another input data file of demonstration " is logined data 2.xls ".About the input data file of this figure, will combine Figure 18 to narrate in the back.
Figure 18 is the picture figure that the example in the reference technique 2 is set picture 240.Carry out being set the basic execution sequence that each carries out collection in the numbered bin 253, be set the identifying information of test case in the test case ID hurdle 254.Be set expression in group (group) ID hurdle 256 and carry out the identifying information of group of the re-treatment of collection, be set in the line number hurdle 258 input data file in the motion test with reference to scope.Content of operation body guoup 260 is set each and carries out the content of operation file of concentrating, and input data file hurdle 262 is set each input data file of carrying out collection.The setting content that example is set in the picture 240 is used as the example file storage in example file maintaining part 148.
When test execution button 264 was pressed in example setting picture 240, program generation portion 132 generated motion test according to example file and content of operation file and uses program.Specifically, be based on the more than one content of operation file that is set same test example ID in the example file, generate the motion test that function that each content of operation file write down is set to behind the program code and use program.For example, program generation portion 132 sets the example file of the content of picture 240 according to the example that records Figure 18, generate a motion test being used to carry out the login example with program be used to carry out a motion test retrieving example and use program.So-called " program is used in a motion test ", the meaning is the program that an executable unit carries out that is used as, and in other words is the program that is performed in the chance once carrying out, and is irrelevant with its program quantity physically.
During function that program execution department 134 is write down in carrying out each content of operation file, will with the data of the corresponding input data file of this content of operation file in, in the content of operation file, give this function with the data transfer of the corresponding row of this function.
In addition, program execution department 134 will be endowed mutually on the same group a plurality of execution collection of ID and handle on the same group as the phase that should carry out identical re-treatment in same test case.Specifically, repeat to be endowed the execution of a plurality of execution collection of ID on the same group mutually, when repeating, the function passes in being recorded in each content of operation file of carrying out collection is recorded in the record (record) of the predetermined quantity in the input data file at every turn.In reference technique 2, a record (record) that will be recorded in the input data file when supposing each the repetition passes to function.In addition, also can in program generation portion 132, generate the motion test that the iterated command that will be used for carrying out above-mentioned processing is set in program code and use program.
In addition, to the designated execution collection of line number, program execution department 134 will be given the function that is write down in this content of operation file with the determined input data transfer of this line number in input data file.Therefore, in designated re-treatment based on group ID, and further designated under the situation of line number, just repeat the specified number of times of line number.For example, in the login example of Figure 18, do not have to set and stride the group of carrying out collection, carry out at each and concentrate the processing that is performed an input data volume.Different therewith, in the retrieval example of Figure 18, each processing of carrying out an input data volume of concentrating is repeated to carry out three times.
Specifically, in primary repetition, the data " t_yamada " of logining the 35th row of data 2.xls are delivered to the function of logining among the 2.xls to be write down.And the data " hillside plot is the youth too " of the 1st row name Chinese character of retrieval data-in .xls are delivered to function that retrieval charges among the .xls to be write down, are the functions of the No1 of Figure 15 specifically.In addition, the data " ャ マ ダ タ ロ ゥ " of the 1st row name pronunciation of retrieval data-in .xls are delivered to the function of the No2 of Figure 15.
In secondary repetition, the data " h_yamada " of logining the 36th row of data 2.xls are delivered to the function of logining among the 2.xls to be write down.And the data " hillside plot beggar " of the 2nd row name Chinese character of retrieval data-in .xls are delivered to the function of the No1 of Figure 15 that retrieval charges among the .xls to be write down.In addition, the data " ャ マ ダ Ha Na コ " of the 2nd row name pronunciation of retrieval data-in .xls are delivered to the function of the No2 of Figure 15.
Also be the same in repetition for the 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 bring into play the effect of in reference technique 1, explaining.Specifically, owing to realized separating and,, generating stay-in-grade program simply again of processing and variable so can both guarantee to be included in the diversity of motion test with the logic in the program based on the setting of GUI.In addition, through the setting of input data file, the variation of easy expansion motion test.In addition, through the setting of example file, can realize the motion test under the various dramas.
In the action verifying attachment 100 of reference technique 2, carry out motion test do not link together with seamlessly, needing user intermediary with the wrapper function of program implementation engine function with the efficient utilization that realizes the execution engine.Thus, can alleviate the user's who is used to carry out motion test burden.In addition, different during with the action verifying attachment 100 of reference technique 1, the user need not to be familiar with the project of QTP etc. and is used for the environment that program is carried out.That is, as long as set content of operation file and the input data file that user easier is understood the form of operation.Thus, the user can easily implement motion test.
In the action verifying attachment 100 of reference technique 2, be that program is used in the motion test that generates a plurality of execution collection of an intensive same test case, and carry out this motion test with program.With in the action verifying attachment 100 of reference technique 1 by carry out collection, promptly according to comparing based on carrying out the situation that each QTP project that collection generates carries out; System overhead (overhead) in the time of can being reduced in a succession of motion test of carrying out in the test case can be realized motion test rapidly.
In the action verifying attachment 100 of reference technique 2, can also set the group of striding the repetition of a plurality of execution collection.Thus, can cut apart flexibly and carry out collection, can set the drama of motion test flexibly.In addition, can also set input data file with reference to scope.Thus,, also can change neatly with reference to scope, can easily realize the motion test of various variation according to drama even input data file is identical.
In above-mentioned reference technique 2, set the example of assisting as the value that function is set in the picture 210, expressed drop-down list 252.In variation, the input data candidate that the radio button in the webpage, check box, list box etc. show with optional mode also can be presented at function with drop-down list 252 or other form alternatively and be set in the picture 210.That is, when the confirming operation subject machine is carried out the data input operation, be shown to user's input data candidate, also can set and shown alternatively when value in the picture 210 is set at function with various optional forms.
In above-mentioned reference technique 1, the QTP accepted user is to the operation of web page server 400, and action verifying attachment 100 is that program is used in condition generation motion test to have generated daily record.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 and uses program.As variation, in action verifying attachment 100, also can use program in the time dot generation motion test that has obtained html file from web page server 400.In this case, 100 retrievals of action verifying attachment are comprised in list (form) label in the html file, confirm to include in the html file which type of input interface.Then, if select to be used to enter data into the function of each input interface and with these functions by various series arrangement, even without the web page operation that the user shows clearly, also can generate the program of test usefulness.
(reference technique 3)
At first, the summary of description references technology 3.
Disclose very many web browsers at present, also have multiple web browser to be used among user's the PC.Therefore, as the action verifying attachment, hope can be supported the motion test to the webpage of multiple web browser.At this moment, the action verifying attachment need be according to the specification operating web browser device of web browser, and its method is broadly divided into following two kinds.The webpage that below also will become the motion test object is called " tested object page or leaf ".
Mode 1. is from the operation of outside:
Through the external disclosed API of invoking web page browser, promptly accept to align the interface (following also claim " operation IF ") of the input operation of the tested object page or leaf that is presented in the web browser, come from the peripheral operation web browser.The operation IF of this reference technique 3 is the function that is used for asking to the list (form) of tested object page or leaf input data, execution tested object page or leaf and to the GET of web page server (Request) and POST request (Request) specifically.
Mode 2. is from the operation of inside:
Program code (being html file) to the tested object page or leaf is write afterwards the input operation of acceptance to the tested object page or leaf, and makes web browser carry out the script file of this input operation (following also claim " control routine ").Then, come operating web browser device internally through calling this control routine.In other words, operated this web browser through enrolling the represented scripts in web pages file of web browser in advance.
The control routine of this reference technique 3 is to have recorded and narrated to comprise to accept the program code of outside to the function of the interface function of the input operation of tested object page or leaf.And be recorded and narrated comprise through the dom tree of operational testing object page or leaf come the displaying contents of refresh test object page or leaf function, send program code to the function of the function of the GET request of web page server and POST request.Control routine also can use predetermined script (for example JAVA script (" JAVA " is registered trademark)) to record and narrate.
Figure 19 representes the characteristic to two kinds of modes of operation of web browser.This figure is from the mode of operation of outside and comparison diagram from the mode of operation of inside.Aspect the reliability that is considered to most important motion test itself, owing to the mode of operation from inside is the operation of rewriting the tested object page or leaf, so we can say from the mode of operation of outside better.And aspect adaptability and versatility, owing to the mode of operation from the outside is the operation that depends on the operation IF in the web browser, so we can say from the mode of operation of inside better.
Therefore; In this reference technique 3, be disclosed if propose the operation IF of the employed web browser of a kind of motion test, then from the peripheral operation web browser; And if operation IF is private, then the action verifying attachment of operating web browser device internally.Thus, can in the reliability of guaranteeing motion test as much as possible, support motion test based on various web browsers.
Figure 20 schematically shows the call relation between function to two kinds of modes of operation to web browser.Web page server 400 provides the signal conditioning package of tested object page or leaf.With browser 402 is that browser A402a, browser B402b, browser C402c, the browser D402d of general name is the web browser of bringing into play function as the HTTP user agent, carries out the display process, operational processes of tested object page or leaf etc.In addition, suppose that the browser A402a of this figure and browser B402b are externally open with its operation IF, and underground its operation of browser C402c and browser D402d IF.
Using engine 404 with indivedual browsers is respectively the program code that calls browser A402a and browser B402b operation IF separately as the browser A of general name with engine 404b with engine 404a and browser B.General purpose I F406 is the interface that is used to call multiple browser 402 operation IF separately, is to have not rely on multiple browser 402 program code of the interface of the general format of different operation IF separately.Use driven by engine device 408 to become data with driven by engine device 408a, browser B with the data conversion of the general purpose I F406 form of the kind of driven by engine device 408b through will not relying on browser 402 with indivedual browsers by each browser 402 different operation IF form as the browser A of general name, come the bridge joint motion test with program and browsers individually with engine 404.
Agency's (proxy) server 410 is as the agency of browser 402, and performance obtains the function of the reverse proxy of tested object page or leaf from web page server.Acting server 410 offers browser C402c and browser D402d with this tested object page or leaf after appending control routine to the tested object page or leaf.Built-in function engine 412 is situated between and calls the control routine that is attached in the tested object page or leaf by acting server 410.Built-in function driven by engine device 414 comes the bridge joint motion test with program and built-in function engine 412 through the data conversion of general purpose I F406 form being become to be used to call the data of the predetermined format of control routine.
The action of explanation Figure 20 below.When the web browser that shows the tested object page or leaf was browser A402a or browser B402b, motion test was with routine call general purpose I F406.Follow in this, the operation IF of web browser is situated between to be called with engine 404 with driven by engine device 408 and indivedual browsers by indivedual browsers, and thus, web browser is operated, and the input operation of tested object page or leaf is implemented.
On the other hand, when the web browser that shows the tested object page or leaf was browser C402c or browser D402d, acting server 410 appended control routine to the tested object page or leaf, and this tested object page or leaf is presented in the web browser.At this moment, motion test also is to call general purpose I F406 with program, is attached to control routine in the tested object page or leaf and is situated between and is called by built-in function driven by engine device 414, built-in function engine 412, acting server 410 ground.Thus, web browser is not situated between by the operation of the operation IF ground of web browser, and the input operation of tested object page or leaf is implemented.
Through the structure of Figure 20, the difference of the interface of web browser is absorbed with driven by engine device 408 and built-in function driven by engine device 414 by indivedual browsers.Thus, motion test can not rely on the kind of employed web browser in the motion test of webpage (following yet claim " test execution browser ") with program, always come operational testing to carry out browser through calling general purpose I F406.In other words, with program the motion test based on multiple web browser is automatically performed through same motion test.
Figure 21 is the block diagram that the function of the action verifying attachment of expression reference technique 3 constitutes.The functional block mark identical label corresponding to the functional block in the functional block of this figure with the action verifying attachment 100 shown in reference technique 1 and 2.About having marked the functional block of same numeral, only, its function describes again when being different from the content of having stated in reference technique 1 and 2, for same function,, suitably omit its explanation owing to explain.
Action verifying attachment 100 also has browser handles portion 160 except that functional block shown in Figure 13.Browser handles portion 160 brings into play function corresponding to the browser 402 of Figure 20 as web browser.Certainly, also can be that an action verifying attachment 100 has multiple browser handles portion 160.
Program execution department 134 is when program implementation is used in motion test, according to the kind of test execution browser, in other words select from the mode of operation of outside or from the mode of operation of inside and operating browser handling part 160 according to the form of browser handles portion 160.Figure 22 is the block diagram of details of the program execution department 134 of expression Figure 21.Program execution department 134 comprises test subject selection portion 162, peripheral operation execution portion 164, agent processes portion 166, built-in function execution portion 168, evidence thing configuration part 170.
Test subject selection portion 162 obtains the kinds of information of representing the test execution browser, in other words obtains the information of the open situation of the operation IF that representes the browser handles portion 160, according to the executive agent of this information decision motion test with program from predetermined enactment document or motion test.For example, can confirm the open situation of the operation IF in the test execution browser with reference to the table of the open situation of various web browsers and operation IF separately being set up corresponding relation.
When browser handles portion 160 is that the executive agent of the peripheral operation execution portion 164 of narration below as motion test selected by test subject selection portion 162 when externally openly operating IF.On the other hand, when IF does not externally openly operate in browser handles portion 160, select the agent processes portion 166 and the executive agent of built-in function execution portion 168 of narration below as motion test.
Motion test with engine 404, detects with program calling general purpose I F406 in motion test during with program implementation corresponding to indivedual browsers of Figure 20 in peripheral operation execution portion 164.Then,, come operating browser handling part 160, carry out input operation the tested object page or leaf through calling the 160 disclosed operation IF of browser handles portion.
Agent processes portion 166 obtains browser handles portion 160 desired tested object pages or leaves corresponding to the acting server 410 of Figure 20 from web page server 400 agencies, in the HTML code of tested object page or leaf, inserts control routine.Then, the HTML code of the tested object page or leaf after changing being sent to browser handles portion 160 makes it to show.In addition, the built-in function execution portion 168 of agent processes portion 166 literary composition narration from the back accepts calling of control routine, calls the control routine that is appended in the tested object page or leaf.Agent processes portion 166 can adopt the asynchronous communication based on XMLHttpRequest with communicating by letter of tested object page or leaf.
Motion test when program implementation is used in motion test, detects with program calling general purpose I F406 corresponding to the built-in function engine 412 of Figure 20 in built-in function execution portion 168.Then, call the control routine of being appended in the tested object page or leaf by agent processes portion 166 ground, come operating browser handling part 160, carry out input operation the tested object page or leaf through being situated between.Agent processes portion 166 can adopt with built-in function execution portion 168 and be used as the test automation instrument and the storehouse of disclosed Selenium (http://seleniumhq.org/).
The result's of proof motion test data (following also claim " evidence thing ") are set according to the requirement from peripheral operation execution portion 164 or built-in function execution portion 168 in evidence thing configuration part 170, should prove thing and be saved in as a result in the maintaining part 152.As the evidence thing, can obtain the picture snapshot that is presented at the tested object page or leaf in the display through browser handles portion 160, also can obtain with the http communication of web page server 400 in the data of being received and dispatched.In addition, the function that obtains of picture snapshot can be provided by the operating system (following also claim " OS ") of action verifying attachment 100, the obtaining function and can be provided by the packet capturing software that is installed in the action verifying attachment 100 of http communication data.
The action of the above structure of explanation below.
Figure 23 is the process flow diagram of the action of expression action verifying attachment 100.The figure shows the action when motion test is performed with program in action verifying attachment 100.For example, be the figure of the details of the S218 among expression Figure 12, also be the figure of the details of the S228 among expression Figure 14.
When the motion test of tested object page or leaf began, the execution engine (S300) of motion test was selected by test subject selection portion 162 according to the open situation of the operation IF in the browser handles portion 160.Browser handles portion 160 requires web page server 400 that tested object page or leaf (S302) is provided.When operation IF is private in browser handles portion 160 (S304 is N), 166 agencies of agent processes portion obtain the tested object page or leaf, after appending control routine to its HTML code, the tested object page or leaf are sent to browser handles portion 160 (S306).If operation IF is not disclosed (S304 is Y), then S306 is skipped.Browser handles portion 160 makes the tested object page or leaf be presented at (S308) in the predetermined display.The evidence thing of setting motion test is waited through the picture snapshot of obtaining the tested object page or leaf in evidence thing configuration part 170, and is saved in as a result in the maintaining part 152 (S310).
If all operations that should in motion test, carry out is executed intact (S312 is Y) all, then finish the flow process of this figure.If also have unenforced operation (S312 is N), when operation IF is disclosed in the browser handles portion 160 (S314 is Y), peripheral operation execution portion 164 carries out motion test with the input operation (S316) of program to the tested object page or leaf through calling this operation IF.If operation IF non-public (S314 is N), then built-in function execution portion 168 carries out motion test with the input operation (S318) of program to the tested object page or leaf through calling the control routine of being appended in the tested object page or leaf.When based on the webpage that the operation of tested object page or leaf is asked to provide new, when for example picture based on GET request or POST request etc. taking place shift (S320 is Y), get back to S304.If be not asked to the webpage (S320 is N) that provides new, then get back to S310.
The action verifying attachment 100 of reference technique 3 is a prerequisite with the structure of the action verifying attachment 100 put down in writing in reference technique 1 and the reference technique 2, has appended the structure of the motion test of the webpage that is used for supporting multiple web browser.Therefore, the formation of the action verifying attachment 100 of this reference technique 3 not only has the effect that reference technique 1 and reference technique 2 are put down in writing, and also has following effect.
In action verifying attachment 100, as the mode of operation of web browser, dispose mode of operation, thereby no matter openly whether the operation IF in can web browser, can both carry out the motion test of the webpage in the multiple web browser from inside.In addition, in action verifying attachment 100, as the mode of operation of web browser; Also dispose mode of operation from the outside; Openly operate at web browser under the situation of IF,, guarantee the reliability of motion test easily through carrying out motion test with mode of operation from the outside.
The action verifying attachment 100 of reference technique 3 more than has been described.
In reference technique 3, be built in the action verifying attachment 100 with acting server 410 corresponding agent processes portions 166.In variation, agent processes portion 166 also can be in the out of Memory treating apparatus that is comprised in outside the action verifying attachment 100.
Illustrated like the front, both can be in the single action verifying attachment 100 multiple web browser to be installed, also can be action verifying attachment 100 has corresponding with multiple web browser a plurality of browser handles portion 160.At this moment, program execution department 134 can be carried out the motion test of tested object page or leaf in each web browser.That is, can be directed against the processing shown in Figure 23 of each web browser executed in parallel.Owing to can in single action verifying attachment 100, implement the motion test in the multiple web browser, so can realize high-level efficiency and motion test cheaply.
In reference technique 3, be to select according to the kind of web browser from the mode of operation of inside or from the mode of operation of outside.In variation, also can in the motion test of single web browser, make up dual mode.For example, for to operation in the operation of tested object page or leaf, that can utilize disclosed operation IF to carry out, be suitable for mode of operation, i.e. the 164 call operation IF of peripheral operation execution portion from the outside.And, being suitable for mode of operation from inside for the operation that can not utilize disclosed operation IF to carry out, i.e. control routine is called by built-in function execution portion 168.Because the scripted code of being recorded and narrated in the webpage generally is allowed to operate widely, thus can through supply from the mode of operation of inside that the specification that depends on operation IF causes from the restriction under the mode of operation of outside.
(reference technique 4)
In reference technique 4, propose a kind of and above-mentioned reference technique 3 and be associated, support action verifying attachment 100 based on the webpage motion test of various web browsers.Below titles such as " Windows ", " Internet Explorer (IE) " in the explanation, " Firefox (red fox) ", " Mac ", " MacOS ", " Safari ", " JAVA " are the trade mark or the registered trademark of each company.
Figure 24 schematically shows the call relation between the function in the motion test of webpage.The action check engine 500 of this figure has been represented the Core Feature that is used for the webpage motion test in the action verifying attachment 100.Environment among the Windows environment 540 expression WindowsOS, Mac environment 560 has been represented the environment among the MacOS.Certainly, OS action verifying attachment 100 that Windows is housed also can be made up of the combination of action check engine 500 and Windows environment 540.In addition, OS action verifying attachment 100 that MacOS is housed also can be made up of the combination of action check engine 500 and Mac environment 560.
The IE browser 542 of Figure 24 discloses can be from the operation IF of the application call of outside, i.e. COM550.Therefore, for the operation of the webpage that is shown in the IE browser 542, adopt the mode of operation in the reference technique 3 from the outside.On the other hand, FF (red fox) browser 546 and the Safari browser 562 operation IF that openly can not call from applications.Therefore, just adopt the mode of operation in the reference technique 3 to the operation of the webpage that is shown on these browsers from inside.
In Figure 24, represented to be used for Selenium module 530 from the mode of operation of inside.Selenium module 530 is corresponding to the built-in function engine of Figure 20 412 and acting server 410, is the server program of the Selenium (http://seleniumhq.org/) that is disclosed as the test automation instrument.The window of the web browser of 530 pairs of display web pages of Selenium module (below be also referred to as " browser window ") distributes identifier alone.Then, when the client specifies this identifier, should be with regard to unique identification as the browser window (in other words being webpage) of operand.
Common IF406 is corresponding to the common IF406 of Figure 20.IE driver 502 corresponding to indivedual browsers of Figure 20 with driven by engine device 408.IE driver 502 is brought into play function as motion test with the program (below be also referred to as " test procedure ") and the bridge of IE browser 542 in the webpage motion test of using IE browser 542.IE driver 502 comprises IE window manager 504, IE browser operation portion 506, IE dialog box operating portion 508.
IE window manager 504 management is to the browser window of display web page, the corresponding relation of the identifier that the identifier that in test procedure, is distributed by the user (below be also referred to as " user distributes ID ") and OS are distributed (below be called " OS distributes ID ").
IE browser operation portion 506 confirms to distribute the corresponding OS of ID to distribute ID with user specified in test procedure to the browser window that should carry out web page operation (following also claim " operand window ").In addition, also confirm the function of the COM550 corresponding with content of operation specified in test procedure.Then,, come, make the web page operation in the IE browser 542 executable operations object windows from peripheral operation IE browser 542 through specifying OS to distribute ID and calling the function of COM550.Operation according to webpage is different, and IE browser 542 directly uses the resource of WindowsOS to show dialog box sometimes.Below this dialog box is also referred to as " OS dialog box ".
The OS dialog box 544 that IE dialog box operating portion 508 operation IE browsers 542 are shown.Specifically, through detect call when OS dialog box 544 is shown with test procedure in the function of the corresponding Win32API552 of specified dialog box operation, carry out operation to OS dialog box 544.As to the typical content of operation of OS dialog box 544, can enumerate input, the display items display of character string selection, button by inferior.To after the content of operation of the FF dialog box 548 stated and Safari dialog box 564 also be the same.
FF driver 510 in the webpage motion test of using FF browser 546, is brought into play function as the bridge of test procedure and FF browser 546 corresponding to the built-in function driven by engine device 414 of Figure 20.FF driver 510 comprises FF window manager 512, FF browser operation portion 514, FF dialog box operating portion 516.
The browser window of display web page is distributed in FF window manager 512 management by Selenium module 530 identifier (below be also referred to as " Selenium distributes ID ") and the user to this window distribute the corresponding relation of ID and OS distribution ID.
FF browser operation portion 514 confirms to distribute the corresponding Selenium of ID to distribute ID with user specified in test procedure to the operand window.In addition, also confirm with test procedure in the function of the corresponding Selenium module 530 of specified content of operation.Then, specify Selenium to distribute ID, call the function of Selenium module 530.In view of the above, Selenium module 530 distributes ID to confirm the operand window based on Selenium, calls control routine in the control routine of the webpage that is shown with this operand window, corresponding with invoked function.Thus, in the webpage of operand, FF browser 546 is operated in the JAVA script action of confirming internally, thereby realizes the specified web page operation of test procedure.
Specified Ying Bujie by the scheduled operation of Selenium module 530 ground operation, when being typically closing of browser window and handling at test procedure, FF browser operation portion 514 suppresses calling of Selenium modules 530.Replace, the same with IE dialog box operating portion 508, carry out this operation through calling Win32API552.
According to the operation of webpage, FF browser 546 makes OS dialog box 544 show sometimes, and the dialog box (following also claim " FF dialog box ") of utilizing FF browser 546 resource is alone shown.Be typically, OS dialog box 544 shown, and, FF dialog box 548 is shown as the warning dialog box based on the JAVA script.
FF dialog box operating portion 516 operation OS dialog boxes 544 and FF dialog box 548.Specifically, when detecting the demonstration of OS dialog box 544, call the function of operating corresponding Win32API552 with the specified dialog box of test procedure, carry out operation thus this OS dialog box 544.In addition, when detecting the demonstration of FF dialog box 548, call the FF plug-in unit 554 that is preset in the FF browser 546 and indicate the dialog box operation, carry out operation thus to FF dialog box 548 as expanded function.This details will be narrated with Figure 26 explicitly in the back.
Safari driver 520 is corresponding to the built-in function driven by engine device 414 of Figure 20, in the motion test of the webpage that uses Safari browser 562, brings into play function as the bridge of test procedure and Safari browser 562.Safari driver 520 comprises Safari window manager 522, Safari browser operation portion 524, Safari dialog box operating portion 526.522 management of Safari window manager distribute ID, OS to distribute ID and Selenium to distribute the corresponding relation of ID to the user of the window that webpage was shown.In MacOS, what browser window was distributed ID is Safari browser 562, but the convenience in order to explain, is OS distribution ID with its title is unified.
Safari browser operation portion 524 confirms to distribute the corresponding Selenium of ID to distribute ID with the specified user of test procedure to the window of operand.In addition, also confirm the function of the Selenium module 530 corresponding with the specified content of operation of test procedure.Then, specify Selenium to distribute ID, call the function of Selenium module 530.Thus, portion 514 is the same with the FF browser operation, the operation that is situated between and is carried out to the webpage of operand by Selenium module 530.
Specified Ying Bujie by the scheduled operation of Selenium module 530 ground operation, when being typically closing of window and handling at test procedure, Safari browser operation portion 524 suppresses calling of Selenium modules 530.This operation is carried out through the API that calls MacOS and provide in the ground that replaces.Specifically, call the API crowd for preparing for the use of the application that is used for the disabled, be addressable property (Accessibility) API566.This details will be narrated with Figure 27 explicitly in the back.
According to the operation of webpage, Safari browser 562 makes dialog box (following also claim " Safari dialog box ") sometimes.Safari dialog box operating portion 526 calls the API that operates corresponding MacOS with the specified dialog box of test procedure when detecting the demonstration of Safari dialog box 564, carry out the operation to Safari dialog box 564 thus.Also call above-mentioned accessibility API566 this moment.This details will be narrated with Figure 27 explicitly in the back.
Above-mentioned FF window manager 512 is collectively referred to as Selenium window manager 532 with Safari window manager 522.Figure 25 representes the data example that Selenium window manager 532 is stored.As shown in the drawing, the user that Selenium window manager 532 will distribute each browser window in the motion test of webpage distributes ID, Selenium to distribute ID and OS to distribute ID to preserve accordingly.Certainly, the operation of IE browser 542 is not situated between by Selenium module 530.Therefore, IE window manager 504 only distributes ID and OS to distribute ID to preserve accordingly the user.
In addition, above-mentioned FF browser operation portion 514 is collectively referred to as the Selenium browser operation portion 534 of Jie by Selenium module 530 operating web browser devices with Safari browser operation portion 524.
Figure 26 representes the mode to the operation of the FF dialog box 548 of Figure 24.In Selenium module 530, during 546 startings of FF browser, the window handle 572 that the JAVA script is equipped with is preestablished in FF filing (profile) 570 that FF browser 546 is read in.FF browser 546 reads in the storage area of FF plug-in unit 554 with window handle 572 when opening new browser window, thus, appended the function of the window handle 572 of packing into.
Window handle 572 is used as FF plug-in unit 554 when packing into, and the eavesdropping target (listener object) that the window that detects FF browser 546 is generated is situated between and is signed in in the window reader (Window Watcher) 582 by XPConnect578 and XPCOM580.Window handle 572 is situated between when detecting FF dialog box 548 by the eavesdropping target who is logined and being generated, and carries out socket communication with socket (socket) server 574 of FF dialog box operating portion 516, notifies its FF dialog box 548 to be generated.The display style information that comprises display object such as display string in the expression FF dialog box 548, button in this announcement information.
After FF dialog box operating portion 516 has been generated by notice FF dialog boxes 548, function that will be corresponding, be that the identifying information of the function of XPCOM580 is notified to window handle 572 with the specified dialog box operation of test procedure.Window handle 572 is operated FF dialog box 548 through calling by the function of the XPCOM580 of FF dialog box operating portion 516 appointments.Certainly, FF dialog box operating portion 516 also can be according to the Show Styles of FF dialog box 548 and suitably adjustment to the content of operation of FF dialog box 548.For example, can append the ID of the button of pressing object to the specified button push of test procedure after, should operate indication notice and give window handle 572.
As previously mentioned, as the warning dialog box of JAVA script, FF browser 546 shows FF dialog box 548.This FF dialog box 548 utilizes FF browser 546 resource alone to be shown, so can not differentiate the content of dialog box from the OS side.For example, can not differentiate display object such as display string in the FF dialog box 548, button.Therefore, as to the operation of OS dialog box 544, can not be situated between by the operation of Win32API552.The push of the button that for example, can not carry out FF dialog box 548 is shown.
Therefore, in reference technique 4, append as plug-in unit, can obtain the displaying contents of FF dialog box 548, and realize operation FF dialog box 548 through the function for monitoring that the FF dialog box in the FF browser 546 548 is shown.
In addition, FF browser operation portion 514 is owing to be to be situated between by Selenium module 530 operation FF browsers 546, so can set the function that be used for dialog box and operate (for example the same with window handle 572 program code) to the program code of webpage.But,, then can not operate dialog box from its code that shows the webpage in source if FF dialog box 548 is modal dialog (modal dialog, application model dialog box or system model dialog boxes).On the other hand, be used as FF plug-in unit 554 and the window handle 572 of packing into can be proceeded the operation to modal dialog.Based on this viewpoint, we can say and hope that window handle 572 is set to the expanded function of FF browser 546.
Figure 27 representes the mode to the operation of the Safari dialog box 564 of Figure 24.The Apple script 584 of this figure is the scripts as the technological Apple Events of IAC that call among the MacOS.System event 586 is application that MacOS provides, and is that calling based on the accessibility API566 of Apple script 584 realized on intermediary ground with Apple script 584 and accessibility API566.
Figure 27 has represented MacOS with the quadravalence layer, and upper stratum provides the API higher than the next stratum's level of abstraction, in other words high level API is provided.As shown in the drawing, accessibility API566 belongs to stratum's " user experience " of upper.As stating, accessibility API566 is used to guarantee the API crowd about the UI automation function towards disabled's availability.Comprised various user interfaces (picture) operation such as open window, press the button by the content of operation of robotization.
Safari dialog box operating portion 526 confirms to operate with the specified dialog box of test procedure the function of corresponding accessibility API566, and the Apple script 584 of specifying this function is sent to system event 586.Thus, be situated between, call the function of the dialog box operation that is used as accessibility API566 and prepares by system event 586.
Certainly, can use other the API crowd of even lower level among the MacOS to realize to the operation of Safari dialog box 564.For example, Safari dialog box operating portion 526 also can be carried out the operation to Safari dialog box 564 through calling " Quartz " API of figure and multimedia stratum.But, because accessibility API566 provides the UI operation of being carried out with the user corresponding high level function, so, can reduce the size of code of Safari dialog box operating portion 526, and can improve its maintainability through utilizing accessibility API566.
In addition, not shownly in Figure 27 be that for to scheduled operation in the operation of webpage, that Ying Bujie is undertaken by Selenium module 530 ground, accessibility API566 equally calls with Safari dialog box operating portion 526 in Safari browser operation portion 524.Thus, make MacOS or Safari browser 562 carry out this operation.
Figure 28 is the block diagram that the function of the action verifying attachment 100 of expression reference technique 4 constitutes.The identical or corresponding functional block of functional block with the action verifying attachment 100 shown in the reference technique 1 to 3 in the functional block of this figure is endowed same numeral.About having given the functional block of same numeral, only do not put down in writing simultaneously in its function and the content of in reference technique 1 to 3, having stated, for same function, suitably omit its record.
Action verifying attachment 100 also has window ID maintaining part 154 and obtains portion 139 with ID.Window ID maintaining part 154 obtains the IE window manager 504 and Selenium window manager 532 of portion 139 corresponding to Figure 24 with ID.That is, 154 preservations of window ID maintaining part distribute ID, Selenium to distribute ID, reach the corresponding relation that OS distributes ID the user that browser window distributed of display web page.
ID obtains portion 139 and distributes ID from the OS that OS (WindowsOS or MacOS) obtains to browser window.Under the situation of WindowsOS, ID obtains portion 139 and obtains through calling the window handle (window handle) that Win32API obtains.For example, obtain the HWND value that function " FindWindow " returns with the mode of long type integer, the OS that stores window ID maintaining part 154 into distributes in the id field.The value that is not stored in window ID maintaining part 154 in the multiple HWND value of returning about function " FindWindow ", the new record that also can be used as window ID maintaining part 154 appends.
In addition, under the situation of MacOS, ID obtains portion 139 and obtains through the Apple script from the long value that Safari browser 562 obtains, and the OS that stores window ID maintaining part 154 into distributes in the id field.For example, carry out following script
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 obtains portion 139 and obtains the window attribute value " seleniumWindowName " that Selenium module 530 (Selenium-CORE) is distributed each browser window.Then, this window attribute value is distributed in the id field as the Selenium that Selenium distributes ID to be saved in window ID maintaining part 154.For example, through the function " getAttributeFromAllwindow (" seleniumwindowName " that calls Selenium module 530) ", obtain the window attribute value guide look that Selenium module 530 is managed.
In addition, the user that ID obtains 180 pairs of browser windows distribution of ID dispenser 174 and ID dispenser of stating after portion 139 obtains distributes ID, and the user who is saved in window ID maintaining part 154 distributes in the id field.Certainly, ID obtains portion 139 and also can distribute ID, Selenium to distribute ID, OS to distribute ID to be saved in successively in the window ID maintaining part 154 by the allocation order on the time shaft (ID obtains the obtaining order in the portion 139) respectively the user.Thus, the ID that is assigned with earlier on the time shaft (for example Selenium distributes ID) is just corresponding with other ID (for example the user distributes ID) that on time shaft, is assigned with earlier equally.
Figure 29 is the block diagram of details of the program execution department 134 of expression Figure 28.Program execution department 134 has test environment detection unit 171, peripheral operation execution portion 164, agent processes portion 166, built-in function execution portion 168, evidence thing configuration part 170.Given same numeral in the functional block of this figure with the identical or corresponding functional block of the functional block program execution department 134 shown in the reference technique 3.For the functional block of having given same numeral, the content of only in its function and reference technique 3, having stated is not put down in writing simultaneously, for same function, suitably omits its record.
Test environment detection unit 171 based on the environment of the motion test that is used for webpage, specifically based on the combination of OS and web browser, determines the mode of the motion test of webpage corresponding to the test subject selection portion 162 in the reference technique 3 (Figure 21).For example, the mode of operation of decision web browser and the mode of operation of dialog box.
Peripheral operation execution portion 164 is corresponding to the IE browser operation portion 506 among Figure 24.Peripheral operation execution portion 164 comprises ID dispenser 174 and dialog box operating portion 176.ID dispenser 174 detects the function (instruction) of the new browser window of in test procedure generation when designated when test procedure is carried out, the ID decision of the variable that is designated as this instruction is distributed ID for the user.If ID do not specify, be employed in then that unique new ID distributes ID as the user in peripheral operation execution portion 164 and the built-in function execution portion 168.
Dialog box operating portion 176 is regularly kept watch on the setting of 542 pairs of dialog boxes of IE browser corresponding to the IE dialog box operating portion 508 of Figure 24.For example, can call the above-mentioned FindWindow function of Win32API552 termly, detect dialog box window and generated.Dialog box operating portion 176 is situated between and operates in the OS dialog box 544 that is shown in the IE browser 542 by Win32API552.
In addition; Peripheral operation execution portion 164 store test procedure can appointment the table of corresponding relation of the function stipulated with being used as the operation IF of web browser of the function used of web page operation, be table in reference technique 4 with the corresponding relation of the function of COM550 and Win32API552 defined.Peripheral operation execution portion 164 shows to call COM550 corresponding with the specified function of test procedure or the function of Win32API552 with reference to this.
Agent processes portion 166 is corresponding to the Selenium module 530 among Figure 24.As described in the reference technique 3,166 agencies of agent processes portion obtain the webpage of operand.Then, in the program code of this webpage, append program code that the JAVA script is equipped with, be execution to the various operations of webpage and pre-prepd function group (" control routine " in the reference technique 3).Then, make browser handles portion 160 show the webpage after control routine is appended.In addition, according to the function that calls the control routine corresponding with this operation indication from the operation indication of built-in function execution portion 168, thus, intermediary carries out the operation of webpage.
Agent processes portion 166 comprises ID and sends portion 178 and add-on assemble (add-on) configuration part 179.ID sends portion 178 when making browser handles portion 160 show the webpage after control routine is appended, and sends the identifying information that is used at agent processes portion 166 unique these browser windows of identification.This identifying information is obtained portion 139 by ID and is distributed ID as Selenium and obtain.The FF filing 570 of the window handle 572 that comprises Figure 26 is specified, starting FF browser 546 when making browser handles portion 160 show that webpage after control routines are appended should start FF browser 546 in add-on assemble configuration part 179.Thus, with window handle 572 as the expanded function of FF browser 546 and pack into.
Built-in function execution portion 168 is corresponding to the Selenium browser operation portion 534 among Figure 24.Built-in function execution portion 168 comprises ID dispenser 180 and dialog box operating portion 182.ID dispenser 180 is formations same with the ID dispenser of peripheral operation execution portion 164 174.In addition, built-in function execution portion 168 store test procedure can appointment the table of corresponding relation of the function used of the function used of web page operation and the web page operation of regulation in Selenium module 530.Peripheral operation execution portion 164 is with reference to this table, and the function that calls the Selenium module 530 corresponding with the specified function of test procedure is used as the operation of Selenium module 530 is indicated.
Dialog box operating portion 182 is corresponding to the FF dialog box operating portion 516 and Safari dialog box operating portion 526 of Figure 24.If test environment is WindowsOS and FF browser 546, then dialog box operating portion 182 is kept watch on the setting of the dialog box that FF browser 546 carried out termly.For example, can call the above-mentioned FindWindow function of Win32API552 termly, detect dialog box window and generated.Dialog box operating portion 182 is situated between and operates in the OS dialog box 544 that is shown in the FF browser 546 by Win32API552.In addition, dialog box operating portion 182 is situated between and detects the FF dialog box 548 that is shown by FF browser 546 by FF plug-in unit 554, and Jie is operated by FF plug-in unit 554.
In addition, if test environment is MacOS and Safari browser 562, then dialog box operating portion 182 is kept watch on the setting of the dialog box that Safari browser 562 carried out termly.For example, can carry out above-mentioned Apple script termly, detect the setting of the dialog box window in the Safari browser 562.Dialog box operating portion 182 is situated between and operates in the Safari dialog box 564 that is shown in the Safari browser 562 by accessibility API566.
The action of the above structure of explanation below.
Figure 30 is the process flow diagram of the action of expression action verifying attachment 100.The figure shows the action when in action verifying attachment 100, carrying out motion test with program.For example, be the figure of the details of the S218 among expression Figure 12, also be the figure of the details of the S228 among expression Figure 14.That is, that kind shown in figure 14, the user assists the confirming operation of webpage to a succession of input operation of webpage enforcement to action verifying attachment 100 through reproducing in advance.Figure 30 can be described as the figure that the process flow diagram that makes Figure 23 is changed more in detail.
Receive from the user webpage motion test begin indication after, test environment detection unit 171 is judged the OS of the execution environment that becomes motion test and the kind of web browser.Then, according to this result of determination, select peripheral operation execution portion 164 or built-in function execution portion 168 operating main body (S400) as webpage.The test procedure that program execution department 134, peripheral operation execution portion 164 or the built-in function execution portion 168 that in other words is chosen as operating main body state after carrying out reads in processing (S402).When recording and narrating whole operations to webpage (whole projects of motion test) in test procedure when all having accomplished (Y of S404), finish 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) selected browser window A (assigned I D=1)
The operation of the webpage that (operation 4) shown browser window A
The operation of the webpage that (operation 5) shown browser window A
(operation 6) is to through operating the operation of 5 dialog boxes that are shown
(operation 7) selected browser window B (assigned I D=2)
The operation of the webpage that (operation 8) shown browser window B
(operation 9) closed browser window A (assigned I D=1)
(operation 10) closed browser window B (assigned I D=2)
This test procedure is a preset action program used for test in a series of processing shown in Figure 14.In the content of operation file of this moment, as the function of assigned operation 1 with operation 2, designated " waitForNewWindow " as its variable, is set the URL of webpage and the ID of user's appointment.In addition, as the function of assigned operation 3 with operation 7, designated " select Window " as its variable, is set the ID of user's appointment.In addition, as assigned operation 4, operation 5 and operate 8 function, the function of various operation usefulness such as designated WebEditSet, WebElementClick.In addition, as the function of assigned operation 6, the predefined function of designated dialog box operation usefulness.
In the execution of test procedure, the operational order that test procedure is recorded and narrated is carried out successively.If in the test procedure unenforced operational order (N of S404) is arranged still; And in test procedure, be asked to show new webpage; Promptly should carry out above-mentioned operation 1 and operation 2 (Y of S406), the ID dispenser ID that this operational order is specified that then is chosen as peripheral operation execution portion 164 or the built-in function execution portion 168 of operating main body distributes ID as the user and distributes.ID obtains portion 139 and obtains this user and distribute ID, stores into (S408) in the window ID maintaining part 154.
If the operation IF of web browser is (Y of S410) that is disclosed, then peripheral operation execution portion 164 makes web browser obtain the data of the webpage of operand (S412) through calling this operation IF.Then, make the browser window of the webpage that shows operand be presented at (S420) on the display.In Figure 24, become S410 Y be that web browser is the situation of IE browser 542, the corresponding COM550 of the operation IF of this moment.
If the operation IF of web browser is private (N of S410), then 168 pairs of agent processes portion 166 indications of built-in function execution portion obtain the webpage of operand.The ID of 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.After the web browser start up process of stating after agent processes portion 166 carries out (S419), give web browser, make the browser window of display operation object webpage be presented at (S420) on the display the data transfer of the webpage that has appended control routine.In Figure 24, become S410 N be that web browser is the situation of FF browser 546 or Safari browser 562.
ID obtains portion 139 and calls the API that OS provides, and obtains the OS distribution ID that OS distributes to browser window, stores in the window ID maintaining part 154.In addition,, then call the API that Selenium module 530 is provided, obtain the Selenium distribution ID that Selenium module 530 is distributed to browser window, store in the window ID maintaining part 154 if the operation IF of web browser is private.Thus, the user who browser window A and browser window B is assigned with separately distributes ID, OS to distribute ID and Selenium to distribute ID to set up corresponding (S422).
If in test procedure, do not specify the demonstration (N of S406) of new web page, then S408~S422 is skipped.If in test procedure, specify the operation that webpage is arranged, promptly should carry out aforesaid operations 3~operation 10 (Y of S424), the web page operation of stating after then program execution department 134 is carried out is handled (S426).If there is not the operation (N of S424) of named web page in the test procedure, then S426 is skipped.After the operation to webpage, evidence thing configuration part 170 is the data storage of evidence things such as picture snapshot in the maintaining part 152 as a result (S428), and returns S404.
The user that preferred evidence thing configuration part 170 will be assigned with as evidence thing and these browser windows such as dependent picture snapshot of the browser window of proving thing distributes ID record accordingly.Thus, the motion test result's that confirm webpage user is confirmed and the own specified corresponding evidence thing of ID, can improve the convenience of user when confirming to prove thing.
Figure 31 representes that in detail the test procedure of the S402 of Figure 30 reads in the process flow diagram of processing.Program execution department 134 reads in motion test with program (S430).If the designated predefined function (Y of S432) that the operation of expression dialog box is arranged in this program, then program execution department 134 is kept at the content (above-mentioned operation 6) of this dialog box operation in the predetermined dialog box operation maintenance table (S434).If do not specify dialog box operation (N of S432), then S434 is skipped.
Figure 32 is the process flow diagram of web browser start up process of representing the S419 of Figure 30 in detail.166 startings of agent processes portion are used for the web browser (S440) of motion test.If the web browser used of motion test is FF browser 546 (Y of S442), then add-on assemble configuration part 179 adds (S444) with window handle 572 as the expanded function of FF browser 546.The audiomonitor that window handle 572 will be used for detecting FF dialog box 548 signs in to FF browser 546 (S446).If the web browser that motion test is used is not FF browser 546 (N of S442), then S444 and S446 are skipped.
Figure 33 is a process flow diagram of representing that in detail the web page operation of the S426 of Figure 30 is handled.In the result of determination of test environment detection unit 171, if OS is MacOS (Y of S450), the Mac that states after then built-in function execution portion 168 carries out is with operational processes (S452).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), the IE that states after then peripheral operation execution portion 164 carries out is with operational processes (S458).If web browser is not IE browser 542 (N of S456), but FF browser 546 (Y of S460), the FF that states after then built-in function execution portion 168 carries out is with operational processes (S462).If web browser neither FF browser 546 (N of S460), then S462 is skipped, if OS neither Windows (N of S454), then the later step of S456 is skipped.
Figure 34 representes that in detail the Mac of S452 of Figure 33 is with the process flow diagram of operational processes.If in test procedure designated window selection operation (above-mentioned operation 3 and 7) (Y of S470), then the ID dispenser 180 of built-in function execution portion 168 will be confirmed as the user with the ID that variable is received and distribute ID (S472).If there is not designated window selection operation (N of S470); But designated scheduled operation (the above-mentioned operation 4,5,8 that should be situated between and carry out by Safari browser 562; Below be also referred to as " browser operation ") (Y of S474), then built-in function execution portion 168 confirms that the Selenium that distributes ID to set up corresponding relation with the user distributes ID (S476).Then, distribute the operation indication notice of ID to give Selenium module 530, make Selenium module 530 call the function (S478) corresponding in the control routine that is appended to webpage with operating indication through appointment there being this Selenium.
If there is not designated browser operation (N of S474); But designated scheduled operation (the above-mentioned operation 9 and 10 that should be situated between and carry out by MacOS; Below also claim " OS operation ") (Y of S480), then built-in function execution portion 168 confirms that distributing ID to set up corresponding OS with the user distributes ID (S482).Then, distribute ID, call the function of the accessibility API566 corresponding, make MacOS carry out OS operation (S484) browser window with content of operation through specifying this OS.If neither operate (N of S480) by OS, then S482 and S484 are skipped.
When the dialog box operating portion 182 of built-in function execution portion 168 detects the demonstration of Safari dialog box 564 (Y of S486), from dialog box operation maintenance table obtain to this dialog box content of operation (above-mentioned operation 6) (S488).Then, through calling the function of the accessibility API566 corresponding, carry out operation (S490) to Safari dialog box 564 with this content of operation.If do not detect the demonstration (N of S486) of Safari dialog box 564, then S488 and S490 are skipped.
Figure 35 representes that in detail the IE of S458 of Figure 33 is with the process flow diagram of operational processes.If designated window selection operation (aforesaid operations 3 and 7) (Y of S500) in test procedure, then the ID dispenser 174 of peripheral operation execution portion 164 will be confirmed as the user with the ID that variable is received and distribute ID (S502).If there is not designated window selection operation (N of S500); But the designated operation ( aforesaid operations 4,5,8 that should be situated between and carry out by IE browser 542; Below also claim " browser operation ") (Y of S504), then peripheral operation execution portion 164 confirms that distributing ID to set up corresponding OS with the user distributes ID (S506).Then, call the function of the COM550 corresponding with distributing ID, make IE browser 542 carry out this operation (S508) with the content of browser operation through specifying this OS.
If there is not designated browser operation (N of S504); But the designated operation (aforesaid operations 9 and 10 that should be situated between and carry out by WindowsOS; Below also claim " OS operation ") (Y of S510), then peripheral operation execution portion 164 confirms that distributing ID to set up corresponding OS with the user distributes ID (S512).Then, call the function of the Win32API552 corresponding with distributing ID, make WindowsOS carry out OS operation (S514) browser window with content of operation through specifying this OS.If neither operate (N of S510) by OS, then S512 and S514 are skipped.
When the dialog box operating portion 176 of peripheral operation execution portion 164 detects the demonstration of OS dialog box 544 (Y of S516), from dialog box operation maintenance table obtain to this dialog box content of operation (aforesaid operations 6) (S518).Then, through calling the function of the Win32API552 corresponding, carry out operation (S520) to OS dialog box 544 with this content of operation.If do not detect the demonstration (N of S516) of OS dialog box 544, then S518 and S520 are skipped.
Figure 36 representes that in detail the FF of S462 of Figure 33 is with the process flow diagram of operational processes.If designated window selection operation (aforesaid operations 3 and 7) (Y of S530) in test procedure, then the ID dispenser 180 of built-in function execution portion 168 will be confirmed as the user with the ID that variable is received and distribute ID (S532).If there is not designated window selection operation (N of S530); But the designated scheduled operation ( aforesaid operations 4,5,8 that should be situated between and carry out by FF browser 546; Below also claim " browser operation ") (Y of S534), then built-in function execution portion 168 confirms that distributing ID to set up corresponding Selenium with the user distributes ID (S536).Then, there is this Selenium to distribute the operation indication notice of ID to give Selenium module 530 appointment, thus, makes Selenium module 530 call the function (S538) corresponding in the control routine that is appended to webpage with operating indication.
If do not have designated browser operation (N of S534); But the designated scheduled operation (aforesaid operations 9 and 10 that should be situated between and carry out by WindowsOS; Below also claim " OS operation ") (Y of S540), then built-in function execution portion 168 confirms that distributing ID to set up corresponding OS with the user distributes ID (S542).Then, call the function of the Win32API552 corresponding with distributing ID, make WindowsOS carry out OS operation (S544) browser window with content of operation through specifying this OS.If neither operate (N of S540) by OS, then S542 and S544 are skipped.
The dialog box that explanation shows through aforesaid operations 5 in this paragraph is the situation of FF dialog box 548.When the dialog box operating portion 182 of built-in function execution portion 168 detects the demonstration of FF dialog box 548 through the notice from window handle 572 (Y of S546), from dialog box operation maintenance table obtain to this dialog box content of operation (aforesaid operations 6) (S548).Then, through this content of operation is notified to window handle 572, make window handle 572 call the function (S550) of the FF browser 546 corresponding with this content of operation.Thus, carry out to FF dialog box 548, abide by the operation of test procedure.If do not detect the demonstration (N of S546) of FF dialog box 548, then S548 and S550 are skipped.
The dialog box that explanation shows through aforesaid operations 5 in this paragraph is the situation of OS dialog box 544.When the dialog box operating portion 182 of built-in function execution portion 168 detects OS dialog box 544 and is shown (Y of S552), from dialog box operation maintenance table obtain to this dialog box content of operation (aforesaid operations 6) (S554).Then, through calling the function of the Win32API552 corresponding, carry out operation (S556) to OS dialog box 544 with this content of operation.If do not detect the demonstration (N of S552) of OS dialog box 544, then S554 and S556 are skipped.
According to the action verifying attachment 100 of reference technique 4,,,, can both carry out the confirming operation of the webpage on the various web browsers no matter whether operation IF is open through using Selenium module 530 as described in the reference technique 3.In addition, set in the picture at test procedure and the content of operation file and the function that become the generation source of test procedure, the user can give browser window with ID arbitrarily.That is, the user can suitably set the ID of browser window according to the situation of testing, and need not to recognize that the needed Selenium of Selenium module 530 identification browser windows distributes ID, can improve user convenience property.
In addition, through action verifying attachment 100, can also support the operation to browser window that should not be situated between and undertaken by Selenium module 530 ground.In this case, the user also can set the ID of browser window arbitrarily according to the situation of test, and need not to recognize that OS or web browser distribute to the ID of this browser window, can improve user convenience property.
In addition, through action verifying attachment 100, the dialog box measuring ability is added as the expanded function of web browser (FF browser 546).Thus, web browser shows dialog box for using resource alone, even in the function of OS, can't obtain the content of dialog box, also can be situated between and obtained the content of dialog box by the dialog box measuring ability that is added, and operate this dialog box.In addition; Can generate at web browser under the two the situation of the 2nd dialog box of the 1st dialog box of having used resource alone and this machine (native) resource of having used OS; Through the mode of suitable switching dialog box operation, also can carry out operation to arbitrary dialog box.That is,, be situated between and operate,, be situated between and operate, thus, can support and reproduce sequence of operations webpage by this machine function of OS for the 2nd dialog box by the dialog box measuring ability that is added for the 1st dialog box.
In addition,, utilizing Selenium module 530 in the majority operation of browser window, and in the operation of exceptionality, directly calling the API of OS, perhaps utilizing the module of dialog box operation usefulness through action verifying attachment 100.Like this,, the various test environments (being the combination of OS and web browser) that do not mention in the reference technique 4 can also be supported in, the motion test of webpage can be assisted through technology illustrated in the appropriate combination reference technique 4.
(the 1st embodiment)
To the action verifying attachment 100 of the present invention's the 1st embodiment (following also claim " the 1st embodiment "), its summary of explanation earlier.Figure 37 representes the demonstration example of the web page contents in the browser window.The figure shows the webpage that web page server provided (being typically the tested object page or leaf) and on the picture 630 of display, be shown in the situation in the browser window 632.In the 1st embodiment, the web browser that is started in the browser window is a Safari browser 562.
Browser window 632 comprises client region 634 and head zone 636.Head zone 636 is main zones that show about the information of Safari browser 562, shows the various menus, the icon that are used to operate Safari browser 562.In addition, go back the metamessage (meta-information) of the webpages such as URL and title beyond the content of display web page itself.
On the other hand, client region 634 is zones of the content itself of display web page.Client region 634 comprises a plurality of frameworks (frame) that show different web pages separately.In the 1st embodiment, suppose to comprise framework a638, framework b640 and framework c642.In addition, suppose that in browser window 632, head zone 636 is configured in the top of client region 634.
Framework a638 is because it comprises non-displaypart at the longitudinal length of interior whole longitudinal length above visual range, so dispose vertical scroll bar 646.In addition, framework a638 containing element 644." element " in the 1st embodiment is the GUI element that is configured in the framework, can be set scroll bar, for example comprises text box or list box.The element 644 of this figure is because it comprises non-displaypart at the longitudinal length of interior whole longitudinal length above visual range, so be configured vertical scroll bar 645.Framework b640 is because it comprises non-displaypart at the lateral length of interior whole lateral length above visual range, so be configured horizontal scroll bar 650.In addition, framework b640 comprises table 648.
When the action verifying attachment 100 of the 1st embodiment carries out grabgraf at the display image to browser window 632, it is preserved as a view data by framework unit.That is, to the webpage that constitutes by a plurality of frameworks, in other words when carrying out the picture grabgraf, preserve the grabgraf image of each framework to a plurality of webpages being carried out the webpage (following be also referred to as for simplicity " homepage ") that the framework branch cedes territory to show.In addition; Can not be disposable in browser window 632 the whole content of display frame; And under the situation that needs to roll, obtain a plurality of view data of a part that comprises framework respectively, the view data that they are coupled together is preserved as final grabgraf image.
Figure 38 representes the grabgraf image of the browser window of Figure 37.(a) of Figure 38 represented the grabgraf image of framework a638.In the image grabgraf of the 1st embodiment was handled, the framework a638 integral body in the zone that comprises among Figure 37 not demonstrated was used as 1 image and preserves.In addition, Figure 38 (b) represented the grabgraf image of the element 644 in the framework a638.In the image grabgraf of the 1st embodiment was handled, element 644 integral body in the zone that comprises among Figure 37 not demonstrated were used as 1 image and preserve.(c) of Figure 38 is the grabgraf image of framework b640, and the framework b640 integral body in the zone that comprises among Figure 37 not demonstrated is used as 1 image and preserves.In addition, though not shown among Figure 38, also obtain the grabgraf image of framework c642.Owing to do not dispose scroll bar among the framework c642, obtain the grabgraf image of the displaying contents among expression Figure 37.
Below will tackle the browser window that display image carries out grabgraf and be called " grabgraf object window ", the framework that is comprised in the grabgraf object window will be called " grabgraf object-oriented framework ", the element that is comprised in the grabgraf object-oriented framework will be called " grabgraf object elements ".The webpage that will in homepage, be shown in each framework in addition, is called " frame page ".
It is the same that the major function formation of the action verifying attachment 100 in the 1st embodiment constitutes with the function of the action verifying attachment 100 in the reference technique shown in Figure 28 and Figure 29 4.Below suitably be omitted in the explanation of the structure of having explained in the reference technique 1~4, specify the structure of the picture grabgraf processing that is used for web page contents.
Figure 39 is the block diagram that the correlation function of the picture grabgraf processing in expression the 1st embodiment constitutes.As stating, action verifying attachment 100 comprises evidence thing configuration part 170, agent processes portion 166, browser handles portion 160.Evidence thing configuration part 170 call that agent processes portion 166 provided after the various functions stated.Agent processes portion 166 communicates by letter with the control routine of the program code that is appended to webpage in good time, and the JAVA script corresponding with proving the function that called thing configuration part 170 carried out in browser handles portion 160 sides.That is, the various functions that evidence thing configuration part 170 utilizes agent processes portion 166 to provide come operation web page, and obtain the needed information of Web page image grabgraf from browser handles portion 160 and agent processes portion 166.
Figure 40 representes that agent processes portion 166 offers the function of evidence thing configuration part 170.These functions also can be described as the Selenium module 530 external disclosed functions of Figure 24.In addition, " getOffsetPositionOfWindow " function in addition of this figure can be agent processes portion 166, be the function that 530 standards of Selenium module provide.
166 agencies of agent processes portion of the 1st embodiment obtain the homepage that should be shown in Safari browser 562, and homepage is appended control routine.In addition, also the agency obtains the frame page in the framework that should be shown in homepage, and each frame page is also appended control routine.At this moment, the browser window that demonstrates webpage is distributed unique ID, and each framework that is shown on this webpage is also distributed ID.Then, ID that distributes to window and the ID that distributes to framework are set up management accordingly.
Get back to Figure 39, agent processes portion 166 comprises the picture position and confirms portion 600.Evidence thing configuration part 170 comprises that object confirms that portion 612, framework handling part 614, element handling part 619, image obtain portion 625, the synthetic portion 627 of image.The functional block that each functional block of this figure is handled as the picture grabgraf that is used to carry out 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 disposed at agent processes portion 166 according to the function that agent processes portion 166 offers the function of evidence thing configuration part 170, perhaps is disposed at evidence thing configuration part 170.
Agent processes portion 166:
The picture position confirms that portion 600 realizes the function of the function " getOffsetPositionOfWindow " of Figure 40.That is,, derive the display position on the picture 630, the information of this display position of expression is notified to evidence thing configuration part 170 to the specified framework of the variable of above-mentioned function (grabgraf object-oriented framework).The picture position confirms that portion 600 comprises that the window display position obtains portion 602, head zone and confirm that portion 604, client region confirm that portion 606, framework relative position are obtained portion 608, the framework display position is confirmed portion 610.
The window display position is obtained portion 602 and is obtained the display position of browser window 632 on picture 630 that shows the grabgraf object-oriented framework.In the 1st embodiment, obtain left upper end with picture 630 and be the coordinate of left upper end (point 659 of Figure 37) in the orthogonal coordinate system of initial point, browser window.
Specifically, the window display position is obtained portion 602 and is communicated with the control routine that comprises the homepage of grabgraf object-oriented framework, carries out " window.ScreenX " in homepage.Then, as rreturn value, obtain a little 659 abscissa value (horizontal ordinate 652 of Figure 37).Equally, carry out " window.ScreenY ",, obtain a little 659 ordinate value (ordinate 654 of Figure 37) as rreturn value in homepage.
Head zone confirms that portion 604 confirms the size of the head zone 636 in the browser window 632.In the 1st embodiment, head zone 636 is configured in the top of client region 634, confirms the longitudinal length of head zone 636 so head zone is confirmed portion 604.
Specifically, head zone confirms that portion 604 and the control routine that comprises the homepage of grabgraf object-oriented framework communicate, and carry out " window.outerHeight " in homepage.Then, as rreturn value, obtain the longitudinal length (vertical width 656 of Figure 37) of browser window 632.Equally, carry out " window.innerHeight ",, obtain the longitudinal length (vertical width 658 of Figure 37) of client region 634 as rreturn value in homepage.Head zone confirms that portion 604 cuts the longitudinal length of client region 634, the longitudinal length of deriving head zone 636 through the longitudinal length from browser window 632.
Client region confirms that portion 606 according to the display position of the browser window on the picture 630 632 and the size of head zone 636, confirms the display position of the client region 634 on the picture 630.Specifically, make the ordinate value of coordinate of the left upper end (point 659) of browser window 632 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.
The framework relative position is obtained the position that portion 608 obtains the grabgraf object-oriented framework in the client region 634.In the 1st embodiment, obtain left upper end (point 660 of Figure 37) and be the coordinate (following also claim " client region internal coordinate ") of left upper end in the orthogonal coordinate system of initial point, the grabgraf object-oriented framework with client region 634.For example, when the grabgraf object-oriented framework is framework b640, obtain the client region internal coordinate of the point 662 of Figure 37.
Specifically, the framework relative position is obtained portion 608 and is communicated with the control routine that comprises the homepage of grabgraf object-oriented framework, carries out " frame name .frameElement.offsetLeft " in homepage.As rreturn value, obtain the abscissa value of the client region internal coordinate of grabgraf object-oriented framework then.Equally, carry out " frame name .frameElement.offsetTop ",, obtain the ordinate value of the client region internal coordinate of grabgraf object-oriented framework as rreturn value in homepage.
The framework display position confirms that portion 610 confirms the display position of client region 634 on picture 630 and the position of the grabgraf object-oriented framework in the client region 634 that portion 606 is derived according to client region, confirms the display position of the grabgraf object-oriented framework on the picture 630.Specifically; Through on the ordinate value of the left upper end coordinate of client region 634 and abscissa value, adding the ordinate value and the abscissa value of the client region internal coordinate of grabgraf object-oriented framework respectively, derive the coordinate (coordinate on the picture 630) of the left upper end of grabgraf object-oriented framework.
Evidence thing configuration part 170:
The contents of object that should carry out the image grabgraf in the web page contents that object is confirmed to be shown on portion's 612 decision pictures 630.Specifically, confirm grabgraf object window, grabgraf object-oriented framework, grabgraf object elements successively.
In the 1st embodiment, the user sets at function and sets picture grabgraf function (for example " WebScreenCapture " of Fig. 7) in the picture 210, and as its variable, the user who sets the browser window of answering grabgraf distributes ID.Object confirms that portion 612 will distribute the corresponding browser window of ID to be identified as the grabgraf object window with the specified user of variable of picture grabgraf function.
In addition, object confirms that portion's 612 appointments and the specified user of variable of picture grabgraf function distribute the corresponding Selenium of ID to distribute ID, call function " getAllFrame ".Then, obtain the guide look information (following also claim " framework tabulation ") of the framework that the grabgraf object window comprised from agent processes portion 166.The ID (following also claim " framework ID ") that comprises each framework that each framework distributed that 530 pairs of grabgraf object windows of Selenium module are comprised in the tabulation of this framework.Object confirms that portion 612 is identified as the grabgraf object-oriented framework with each framework that the framework tabulation is comprised.
In addition, object confirms that portion 612 specifies grabgraf object-oriented framework ID separately, call function " getScrollableElement ".Then, but obtain the guide look information (following also claim " element list ") of the rollover elements that the grabgraf object-oriented framework comprised from agent processes portion 166.The ID (following also claim " element ID ") that comprises rotatable each element that the grabgraf object-oriented framework is comprised in this element list.Object confirms that portion 612 confirms as the grabgraf object elements with each element that element list comprised.
Framework handling part 614 is carried out the preparation processing that is used for the grabgraf object-oriented framework is carried out grabgraf.Framework handling part 614 comprises that the framework display position is obtained portion 615, framework obtains portion 616, framework scroll process portion 617.
The framework display position is obtained portion 615 and is specified the framework ID of grabgraf object-oriented framework, call function " getOffsetPositionOfWindow ".Thus, make the picture position of agent processes portion 166 confirm that portion 600 confirms the coordinate of the display position of the grabgraf object-oriented framework on the expression picture 630, obtains this coordinate figure from agent processes portion 166.
Framework obtains portion 616 and specifies the framework ID of grabgraf object-oriented framework, call function " getScrollRectangleOfElement ".Then; Obtaining the not visual part that comprises the grabgraf object-oriented framework, promptly just be presented at the overall dimensions of the part on the picture 630 through making it to roll from agent processes portion 166, is to obtain the whole lateral length (transverse width) of grabgraf object-oriented framework and longitudinal length (vertical width) at this.
Certainly, agent processes portion 166 also can carry out because of the different JAVA script of the kind of browser handles portion 160 in homepage when having received the calling of function " getScrollRectangleOfElement ".That is, be under the situation of Safari browser 562 as the 1st embodiment, can the execution result of " frame name .document.width " be confirmed as the whole transverse width of grabgraf object-oriented framework.Equally, can the execution result of " frame name .document.height " be confirmed as the whole vertical width of grabgraf object-oriented framework.On the other hand; Under the situation of FF browser 546, browser handles portion 160 can confirm as the whole transverse width of grabgraf object-oriented framework with the execution result of execution result+" the frame name .window.scrollMaxX " of " frame name .window.innerWidth ".Equally, can the execution result of execution result+" the frame name .window.scrollMaxY " of " frame name .window.innerHeight " be confirmed as the whole vertical width of grabgraf object-oriented framework.
In addition, framework obtains portion 616 and specifies the framework ID of grabgraf object-oriented framework, call function " getClientRectangle ".Then, obtaining the viewable portion that comprises the grabgraf object-oriented framework, promptly do not roll and just be presented at the size of the part on the picture 630 from agent processes portion 166, is to obtain the transverse width of the viewable portion in the grabgraf object-oriented framework and vertical width at this.
Agent processes portion 166 carries out the JAVA script corresponding with this function in homepage when receiving the calling of function " getClientRectangle ".For example can the execution result of " frame name .document.documentElement.clientWidth " be confirmed as the transverse width of the viewable portion in the grabgraf object-oriented framework.Equally, can the execution result of " frame name .document.documentElement.clientHeight " be confirmed as vertical width of the viewable portion in the grabgraf object-oriented framework.
Framework scroll process portion 617 transverse width that the grabgraf object-oriented framework is whole uses the transverse width of its viewable portion to remove (remainder carry), and its result's decision is horizontal rolling upper limit number of times.In addition, vertical width that the grabgraf object-oriented framework is whole removes (remainder carry) with vertical width of its viewable portion, and its result's decision is vertical rolling upper limit number of times.
In addition, after the image that is carried out the grabgraf object-oriented framework was obtained, framework scroll process portion 617 vertically rolled framework before obtaining image next time, perhaps made it vertically to roll and laterally roll.Specifically,, specify the framework ID of grabgraf object-oriented framework, horizontal rolling amount is appointed as 0, and, specifies vertical width of the viewable portion of grabgraf object-oriented framework, come call function " doScrollFrameTo " as vertical rolling amount for carrying out vertical rolling.In addition, for carrying out horizontal rolling, specify the framework ID of grabgraf object-oriented framework, horizontal rolling amount is appointed as the transverse width of the viewable portion of grabgraf object-oriented framework, and vertical rolling amount is appointed as 0, come call function " doScrollFrameTo ".
In the 1st embodiment, so-called anti-N type ground is carried out and is rolled.That is, at first, ground, fixed lateral position once vertically rolled when framework scroll process portion 617 obtained processing at each image, up to reaching its upper limit number of times.Then, make lengthwise position get back to initial position, and carry out once and laterally roll.Then, vertically roll repeatedly to the fixed lateral position once more, up to its upper limit number of times.Then, when vertical rolling number of times all reaches upper limit number of times with horizontal rolling number of times, finish scroll process to the grabgraf object-oriented framework.
Element handling part 619 is carried out the preparation processing that is used for the grabgraf object elements is carried out grabgraf.Element handling part 619 comprises that the element relative position is obtained portion 620, the element display position confirms that portion 621, elemental range obtain portion 622, element scroll process portion 623.
The element relative position is obtained portion 620 and is specified the element ID of grabgraf object elements, call function " getOffsetPositionOfElement ".Then, obtain the coordinate (following also claim " framework internal coordinate ") of left upper end in the orthogonal coordinate system that left upper end with the framework that comprises the grabgraf object elements is an initial point, the grabgraf object elements.The element 644 that is for example comprised to framework a638, obtaining to put 662 is the left upper end coordinate of the element 644 of initial point.
When calling of function " getOffsetPositionOfElement " received by agent processes portion 166, carry out the JAVA script corresponding with this function at frame page.For example can carry out " masurium .getBoundingClientRect.left ",, obtain the abscissa value of the framework internal coordinate of grabgraf object elements as its rreturn value.Equally, can carry out " masurium .getBoundingClientRect.top ",, obtain the ordinate value of the framework internal coordinate of grabgraf object elements as its rreturn value.
The element display position confirms that portion 621 obtains the framework internal coordinate of the grabgraf object elements that portion 620 obtains according to the coordinate of the display position of being obtained the grabgraf object-oriented framework on the expression picture 630 that portion 615 obtains by the framework display position with by the element relative position, confirms the display position of the grabgraf object elements on the picture 630.Specifically; Through to the ordinate value of the left upper end coordinate of grabgraf object-oriented framework and the ordinate value and the abscissa value of the framework internal coordinate that abscissa value adds the grabgraf object elements respectively, derive the coordinate (coordinate on the picture 630) of the left upper end of grabgraf object elements.
Elemental range obtains portion 622 and specifies the element ID of grabgraf object elements, call function " getScrollRectangleOfElement ".Then, obtaining the overall dimensions of the not visual part that comprises the grabgraf object-oriented framework from agent processes portion 166, is to obtain whole transverse width of grabgraf object-oriented framework and vertical width at this.
Agent processes portion 166 carries out the JAVA script corresponding with this function at frame page when receiving the calling of function " getScrollRectangleOfElement ".For example can carry out " masurium .scrollWidth ",, obtain the whole transverse width of grabgraf object elements as its rreturn value.Equally, can carry out " masurium .scrollHeight ",, obtain vertical width of the framework internal coordinate of grabgraf object elements as its rreturn value.
In addition, elemental range obtains portion 622 and 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 to obtain the transverse width of the viewable portion in the grabgraf object-oriented framework and vertical width at this.
When calling of function " getClientRectangleOfElement " received by agent processes portion 166, carry out the JAVA script corresponding with this function at frame page.For example can obtain the transverse width of the execution result of " masurium .clientWidth " as the viewable portion in the grabgraf object elements.Equally, can obtain the vertical width of the execution result of " masurium .clientHeight " as the viewable portion in the grabgraf object elements.
Element scroll process portion 623 transverse width that the grabgraf object elements is whole uses the transverse width of its viewable portion to remove (remainder carry), and its result's decision is horizontal rolling upper limit number of times.In addition, vertical width that the grabgraf object elements is whole removes (remainder carry) with vertical width of its viewable portion, and its result's decision is vertical rolling upper limit number of times.
After the image that is performed the grabgraf object elements was obtained, element scroll process portion 623 vertically rolled element before image is obtained next time, perhaps made it vertically to roll and laterally roll.Specifically,, specify the element ID of grabgraf object elements, horizontal rolling amount is appointed as 0,, specify vertical width of the viewable portion of grabgraf object elements, like this call function " doScrollElementTo " as vertical rolling amount for carrying out vertical rolling.In addition,, specify the element ID of grabgraf object elements, as horizontal rolling amount, specify the transverse width of the viewable portion of grabgraf object elements, and vertical rolling amount is appointed as 0, come call function " doScrollElementTo " like this for carrying out horizontal rolling.The roll mode of element is the same with the roll mode of the framework of having stated.
Image is obtained portion 625 and according to the display position of the grabgraf object-oriented framework on the picture 630 display image of grabgraf object-oriented framework is carried out grabgraf.And, the display image of grabgraf object elements is carried out grabgraf according to the display position of the grabgraf object elements on the picture 630.The image of the 1st embodiment is obtained portion 625 head zone 636 of browser window 632 is excluded from the grabgraf object.That is, obtain the display image that has been excluded head zone 636, be the display image of grabgraf object-oriented framework purely.
For example; Image is obtained the coordinate figure of left upper end of the grabgraf object-oriented framework of portion 625 on can assigned picture 630 as initial point; And specify the transverse width of the viewable portion of grabgraf object elements to call the picture grabgraf function (API) of OS as the grabgraf scope with vertical width.Then, the view data of the viewable portion of grabgraf object elements is kept in the storer (clipbook).
In addition, image is obtained the grabgraf processing that portion 625 carries out the grabgraf object-oriented framework repeatedly, and the rolling number of times in length and breadth that is determined up to framework scroll process portion 617 reaches the upper limit.Equally, carry out the grabgraf of grabgraf object elements repeatedly and handle, the rolling number of times in length and breadth that is determined up to element scroll process portion 623 reaches the upper limit.Therefore, correspondence is set the framework or the element of scroll bar, and the data of a plurality of grabgraf images are taken in the storer.
The synthetic portion 627 of image will synthesize 1 view data to the data that the repeatedly image of a grabgraf object-oriented framework is obtained a plurality of grabgraf images that processing obtains.Then, to 1 grabgraf object-oriented framework, 1 view data is stored into as a result in the maintaining part 152 as the evidence thing of motion test.To element also is the same, for a grabgraf object-oriented framework, 1 view data is stored into as the evidence thing of motion test as a result in the maintaining part 152.In addition, if a plurality of grabgraf images between have repeating part, then from one grabgraf image, trim this repeating part after, synthesize 1 image.
The action of the above structure of explanation below.
Figure 41 is the process flow diagram of the image grabgraf processing action in the expression action verifying attachment 100.In motion test was carried out, if received that the image grabgraf of webpage requires (Y of S600), then object confirmed that portion 612 obtains the tabulation (S602) of this framework that requires to be comprised the specified grabgraf object window from agent processes portion 166.Object confirms that one of framework that portion 612 is comprised framework tabulation confirms as grabgraf object-oriented framework (S604).The framework display position is obtained portion 615 and is specified the grabgraf object-oriented framework, makes the framework display position of stating after 166 execution of agent processes portion confirm to handle (S606).Framework obtains portion 616 and obtains the whole size of grabgraf object-oriented framework and the size (S608) of viewable portion thereof.Framework scroll process portion 617 is according to grabgraf object-oriented framework whole size and the size of viewable portion, the rolling upper limit number of times (S610) in length and breadth of decision reply grabgraf object-oriented framework execution respectively.
Image is obtained portion 625 and is temporarily stored the image of the viewable portion of grabgraf object-oriented framework in the storer (S612).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 1 unit quantity of rolling, the displaying contents (being visual part) of grabgraf object-oriented framework is changed after, return S612 (S616).When reaching the upper limit number of times of rolling (Y of S614), the synthetic portion 627 of image obtains to the grabgraf object-oriented framework and temporary transient a plurality of grabgraf images of preserving, sets with them 1 view data after synthetic.Then, the view data after synthetic is stored into as the evidence thing of motion test as a result in the maintaining part 152 (S618).Certainly, if the grabgraf image originally is exactly 1, then just this image is stored into as a result in the maintaining part 152 as proving thing.
Object confirms that portion 612 obtains the tabulation of the element that the grabgraf object-oriented framework comprised from agent processes portion 166.If also have the not element of grabgraf (being the grabgraf object elements) (N of S620), then the element relative position is obtained the position (S622) that portion 620 obtains the grabgraf object elements in the grabgraf object-oriented framework.The element display position is confirmed portion 621 according to the display position of the grabgraf object-oriented framework on the picture and the position of the grabgraf object elements in the grabgraf object-oriented framework, derives the display position (S624) of the grabgraf object elements on the picture.Return S608 then.
In the grabgraf of element was handled, elemental range obtained portion 622 and obtains the whole size of grabgraf object elements and the size (S608) of viewable portion thereof.Element scroll process portion 623 is according to grabgraf object elements whole size and the size of viewable portion, the rolling upper limit number of times (S610) in length and breadth of decision reply grabgraf object elements execution respectively.Image is obtained portion 625 and is temporarily stored the image of the viewable portion of grabgraf object elements in the storer (S612).If do not reach the upper limit number of times (N of S614) of rolling, then element scroll process portion 623 rolls after 1 unit quantity grabgraf object elements, returns S612 (S616).When reaching the upper limit number of times of rolling (Y of S614), the synthetic portion 627 of image obtains temporary transient a plurality of grabgraf images of preserving to grabgraf object elements institute, sets 1 view data (S618) after they are synthesized.
When all having accomplished (Y of S620) to the grabgraf processing of all grabgraf object elements, handle as yet completion (N of S626) if be directed against the grabgraf of a part of framework of framework tabulation, then return S604, newly determine the grabgraf object-oriented framework, proceed to handle.All accomplish (Y of S626) if be directed against the grabgraf processing of all frameworks of framework tabulation, then finish the flow process of this figure.Certainly, if do not receive that the image grabgraf of webpage requires (N of S600), then later processing is skipped, and finishes the flow process of this figure.
Figure 42 is the definite process flow diagram of handling of framework display position of representing the S606 of Figure 41 in detail.The window display position is obtained portion 602 to the grabgraf object window that comprises the grabgraf object-oriented framework, obtains its display position (S630) on picture.Head zone is confirmed the poor of portion 604 size through calculating whole size of grabgraf object window and client region 634, derives the size (S632) of head zone 636.Client region is confirmed portion 606 according to the display position of the grabgraf object window on the picture and the size of head zone 636, derives the display position (S634) of the client region 634 on the picture.The framework relative position is obtained the position (S636) that portion 608 obtains the grabgraf object-oriented framework in the client region 634.The framework display position is confirmed the position of portion 610 according to the display position and the grabgraf object-oriented framework in the client region 634 of the client region on the picture 634, derives the display position (S638) of the grabgraf object-oriented framework on the picture.
Through the action verifying attachment 100 of the 1st embodiment, only will confirm that the display image of the required webpage of success or not of motion test is preserved as the evidence thing.Specifically, can be with the content of the webpage that is shown in the framework itself, promptly exclude redundance such as head zone, in other words exclude the grabgraf picture cues of formation after and give the user the part of the interference of the results verification of motion test.Thus, can assist high efficiency motion test.
(the 2nd embodiment)
The web browser that the 2nd embodiment of the present invention (following also claim " the 2nd embodiment ") is started in browser window 632 is to be different from the 1st embodiment on FF browser 546 this point.
Figure 43 representes the demonstration example of the web page contents in the browser window.For the key element identical or corresponding in the key element of this figure, give the label identical, and in following explanation, omit with Figure 37 with the key element of Figure 37 that explained before.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 (for example 26 pixels) in the bottom of client region 634.In addition, the browser window 632 of the 2nd embodiment has the border of the outside object (other window or background etc.) of frame line 666 conducts that are set to certain degree width (for example regular length 4 pixels) and browser window.
The major function of the action verifying attachment 100 in the 2nd embodiment constitutes with the 1st embodiment the same, and main action is also the same with the 1st embodiment.Below, explain that it is different from the point of the 1st embodiment to the action verifying attachment 100 in the 2nd embodiment.
The picture position confirms that the head zone of portion 600 confirms that portion 604 considers that also the size of status bar 664 confirms the size of head zone 636 (width).Specifically, from vertical width of browser window 632, deduct vertical width of client region 634, and deduct the longitudinal length of status bar 664, be predetermined 26 pixels at this, the longitudinal length of deriving head zone 636 thus.Certainly, 26 pixels of fixed value are said the aggregate value of the width of the longitudinal length that also can be described as status bar 664 and frame line 666 scrupulously.
The picture position confirms that the client region of portion 600 confirms that portion 606 considers that also the size of frame line 666 confirms the display position of the client region 634 in the picture 630 (width).Specifically; Make the ordinate value of coordinate of the left upper end of browser window 632 add the longitudinal length of head zone 636; And the abscissa value that makes this coordinate adds the width of upper ledge line 666, be predetermined 4 pixels at this, derive the coordinate of the left upper end of client region 634 thus.
Through the action verifying attachment 100 of the 2nd embodiment,, also can realize the effect the same with the 1st embodiment even used the motion test of in browser window 632, disposing the status bar 664 and the web browser of frame line 666 with certain degree width.That is, can will get rid of head zone and status bar or frame line etc. give the user to the grabgraf picture cues that the results verification of motion test plays the part of interference.
More than based on the 1st embodiment and the 2nd embodiment the present invention has been described.This embodiment is an illustration, 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 the scope of the present invention.Represent variation below.
The 1st variation is described.In the above-described embodiment, be the top that supposition head zone 636 is configured in client region 634, but the pattern of browser window 632 is not limited thereto.For example head zone 636 also can be configured in the left side of client region 634.In this case, head zone confirms that portion 604 can obtain the lateral length of browser window 632 and the lateral length of client region 634, and calculates the poor of them, comes to confirm the lateral length of head zone 636 thus.Then, client region confirms that 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.
The 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, in an action verifying attachment 100, realize.For example; Agent processes portion 166 can comprise that portion is confirmed in invoked the 1st picture position when the display image to the browser window of starting Safari browser 562 carries out grabgraf and when the display image to the browser window that starts FF browser 546 carries out grabgraf invoked the 2nd picture position confirm portion.Then, agent processes portion 166 can make a certain person's action according to the kind of the browser window that becomes the grabgraf object.
As another kind of structure, the picture position confirms that the head zone of portion 600 confirms that portion 604 and client region confirm that portion 606 can carry out a certain person of the action that action that the 1st embodiment puts down in writing or the 2nd embodiment put down in writing according to the kind of the browser window that becomes the grabgraf object.Certainly, the kind of browser window can be by specifying in the variable of user when motion test begins, the various enactment document, and dynamically read in from OS or browser handles portion 160.
The 3rd variation is described.Represented that in the above-described embodiment client region 634 is divided into the example of a plurality of frameworks, but client region 634 also can not be divided into a plurality of frameworks.In this case, framework handling part 614 needs only client region integral body is regarded as a framework, likewise moves with embodiment to get final product.In addition, element handling part 619 needs only the whole contained element of client region is regarded as an element that framework is contained, likewise moves with embodiment to get final product.
The 4th variation is described.In the above-described embodiment, as web browser, illustration 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 kinds of web browsers.For example for configuration status hurdle 664 not in browser window 632, and the web browser of the not enough predetermined value of the width of frame line 666, also can be suitable for the technology of the 1st embodiment.In addition, for disposing 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 dispose status bar 664 but during the not enough predetermined value of the width of frame line 666 and conversely not the width of configuration status hurdle 664 but frame line 666 when predetermined value is above, can suitably select the formation of the 1st embodiment and the 2nd embodiment to make up.
The 5th variation is described.Do not mention especially in the above-described embodiment, but action verifying attachment 100 can also have map as maintaining part, preserve and to be used for contrasting the whether consistent map picture of the grabgraf image obtained with motion test.This map is by framework unit, first primitive unit cell preset image data as the grabgraf image with embodiment.
In addition, action verifying attachment 100 can also comprise comparing part, judges that the grabgraf image as the evidence thing similarly is not consistent with map.Grabgraf image as the evidence thing is the grabgraf image in the motion test, in other words is the image that is synthesized by the synthetic portion 627 of image, in other words is the grabgraf image that is stored in the maintaining part 152 as a result again.Comparing part can with grabgraf image and map similarly be not consistent result of determination store in the predetermined storage area (file or DB etc.) and notice to the user.Through this variation, can make the judgement robotization of action normality, auxiliary motion test efficiently.In addition,, set (so-called mask process), can judge easily that grabgraf image and map similarly are consistent so need not the eliminating of control zone owing to be the content that excludes the pure web page contents after the head zone in the above-described embodiment by grabgraf.
The combination in any of above-mentioned reference technique, embodiment, variation also is useful as embodiment of the present invention.The new embodiment that produces through combination has reference technique, embodiment, the variation effect separately that is made up concurrently.
Those skilled in the art can also understand claim record each constitutive requirements the function that should bring into play can cooperate by the monomer of each inscape shown in reference technique, embodiment and the variation or its and realize.
(label declaration)
100 action verifying attachments; 160 browser handles portions; 166 agent processes portions; 170 evidence thing configuration parts; Portion is confirmed in 600 picture positions; 602 window display positions are obtained portion; 604 head zone are confirmed portion; 606 client regions are confirmed portion; 608 framework relative positions are obtained portion; 610 framework display positions are confirmed portion; 612 objects are confirmed portion; 625 images are obtained portion; 627 images synthesize portion; 630 pictures; 632 browser windows; 634 client regions; 636 head zone; 664 status bars; 666 frame lines.
(industrial utilizability)
The present invention can be applicable to the device of the action of test products.

Claims (8)

1. an image capturing device is characterized in that, comprising:
The window's position is obtained portion, to client region that comprises display web page and the browser window that is different from the additional areas of above-mentioned client region, obtains the display position of the above-mentioned browser window on the picture,
Portion is confirmed in the picture position; Size according to the status bar of the size of the additional areas of the display position of the above-mentioned browser window on the above-mentioned picture, above-mentioned browser window and above-mentioned browser window; Confirm the display position of the above-mentioned client region on the above-mentioned picture, and
Image is obtained portion, confirms the display position on the determined above-mentioned picture of portion according to above-mentioned picture position, and the display image of above-mentioned client region is carried out grabgraf.
2. image capturing device as claimed in claim 1 is characterized in that,
Above-mentioned image is obtained portion the additional areas of above-mentioned browser window is got rid of from the grabgraf object.
3. according to claim 1 or claim 2 image capturing device is characterized in that,
Above-mentioned picture position confirms that portion comprises:
Additional areas is confirmed portion; Obtain the length of above-mentioned browser window and the length of above-mentioned client region; Deduct the length of above-mentioned client region and as the size of above-mentioned status bar and predetermined length through length from above-mentioned browser window, derive above-mentioned additional areas length and
Client region is confirmed portion, and the display position that makes the above-mentioned browser window on the above-mentioned picture according to the length of above-mentioned additional areas and the position after the displacement, is confirmed as the display position of the above-mentioned client region on the above-mentioned picture.
4. image capturing device as claimed in claim 3 is characterized in that,
In above-mentioned browser window, above-mentioned additional areas is configured in the top of above-mentioned client region, and above-mentioned status bar is configured in the bottom of above-mentioned client region;
Above-mentioned the window's position portion of obtaining at the display position of the top-left coordinates of the above-mentioned browser window in the orthogonal coordinate system as the above-mentioned browser window on the above-mentioned picture;
Above-mentioned additional areas confirms that portion confirms the longitudinal length of above-mentioned additional areas;
Above-mentioned client region confirms that portion adds the longitudinal length of above-mentioned additional areas through the ordinate value in the top-left coordinates that makes above-mentioned browser window, derives the top-left coordinates of the above-mentioned client region in the above-mentioned orthogonal coordinate system.
5. image capturing device as claimed in claim 4 is characterized in that,
Above-mentioned client region confirms that portion adds the longitudinal length of above-mentioned additional areas through the ordinate value in the top-left coordinates that makes above-mentioned browser window; Derive the ordinate value in the top-left coordinates of above-mentioned client region; And make abscissa value in the top-left coordinates of above-mentioned browser window add as the above-mentioned browser window of expression with the width of the frame line on outside border predetermined length, derive the abscissa value in the top-left coordinates of above-mentioned client region.
6. like each described image capturing device of claim 1 to 5, it is characterized in that,
Comprise a plurality of frameworks in the above-mentioned client region;
This device comprises that also frame position obtains portion, to the grabgraf object-oriented framework in above-mentioned a plurality of frameworks, obtains the position of the above-mentioned grabgraf object-oriented framework in the above-mentioned client region;
The position of portion according to the display position and the above-mentioned grabgraf object-oriented framework in the above-mentioned client region of the above-mentioned client region on the above-mentioned picture confirmed in above-mentioned picture position, confirms the display position of the above-mentioned grabgraf object-oriented framework on the above-mentioned picture;
Above-mentioned image is obtained the display position of portion according to the above-mentioned grabgraf object-oriented framework on the above-mentioned picture, and the display image of above-mentioned grabgraf object-oriented framework is carried out grabgraf.
7. an image acquisition method of being carried out by image capturing device is characterized in that, comprising:
To client region that comprises display web page and the browser window that is different from the additional areas of above-mentioned client region, obtain the step of the display position of the above-mentioned browser window on the picture,
Size according to the status bar of the size of the additional areas of the display position of the above-mentioned browser window on the above-mentioned picture, above-mentioned browser window and above-mentioned browser window; Confirm definite step of the display position of the above-mentioned client region on the above-mentioned picture, and
According to the display position on the determined above-mentioned picture in above-mentioned definite step, the display image of above-mentioned client region is carried out the step of grabgraf.
8. computer program makes image capturing device realize following function:
To client region that comprises display web page and the browser window that is different from the additional areas of above-mentioned client region, obtain the function of the display position of the above-mentioned browser window on the picture,
Size according to the status bar of the size of the additional areas of the display position of the above-mentioned browser window on the above-mentioned picture, above-mentioned browser window and above-mentioned browser window; Confirm definite function of the display position of the above-mentioned client region on the above-mentioned picture, and
According to by the display position on the determined above-mentioned picture of above-mentioned definite function, the display image of above-mentioned client region is carried out the function of grabgraf.
CN201080043089.XA 2010-09-28 2010-09-28 Image capturing device, image acquisition method and computer program Active CN102549556B (en)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN102549556A true CN102549556A (en) 2012-07-04
CN102549556B CN102549556B (en) 2016-09-28

Family

ID=45892071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080043089.XA Active CN102549556B (en) 2010-09-28 2010-09-28 Image capturing device, image acquisition method and computer program

Country Status (3)

Country Link
JP (1) JP5303680B2 (en)
CN (1) CN102549556B (en)
WO (1) WO2012042560A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909739A (en) * 2019-11-19 2020-03-24 广东润联信息技术有限公司 Picture identification and operation method and device, computer equipment and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5913774B2 (en) * 2014-01-24 2016-04-27 レノボ・シンガポール・プライベート・リミテッド Web site sharing method, electronic device, and computer program
JP6446945B2 (en) * 2014-09-24 2019-01-09 富士通株式会社 Incompatible detection device, incompatible detection method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456305B1 (en) * 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window
CN101021871A (en) * 2007-01-11 2007-08-22 深圳市光芒科技有限公司 Web page content block intelligent intercepting method
CN101079061A (en) * 2007-04-09 2007-11-28 腾讯科技(深圳)有限公司 Web page screen-cutting system and implementation method
CN101727495A (en) * 2009-12-31 2010-06-09 优视科技有限公司 Web page zoom-in and zoom-out management system for mobile communication device terminal and application method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005266954A (en) * 2004-03-16 2005-09-29 Hitachi Software Eng Co Ltd Operation information recording/reproduction apparatus
JP4795404B2 (en) * 2008-08-07 2011-10-19 株式会社野村総合研究所 Operation verification apparatus and operation verification program
JP5324375B2 (en) * 2009-09-29 2013-10-23 株式会社日立ソリューションズ Capture system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456305B1 (en) * 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window
CN101021871A (en) * 2007-01-11 2007-08-22 深圳市光芒科技有限公司 Web page content block intelligent intercepting method
CN101079061A (en) * 2007-04-09 2007-11-28 腾讯科技(深圳)有限公司 Web page screen-cutting system and implementation method
CN101727495A (en) * 2009-12-31 2010-06-09 优视科技有限公司 Web page zoom-in and zoom-out management system for mobile communication device terminal and application method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李玉东等: "精通嵌入式LINUX编程:构建自己的GUI环境", 《北京航空航天大学出版社》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909739A (en) * 2019-11-19 2020-03-24 广东润联信息技术有限公司 Picture identification and operation method and device, computer equipment and storage medium
CN110909739B (en) * 2019-11-19 2021-01-08 广东润联信息技术有限公司 Picture identification and operation method and device, computer equipment and storage medium

Also Published As

Publication number Publication date
JP5303680B2 (en) 2013-10-02
WO2012042560A1 (en) 2012-04-05
JPWO2012042560A1 (en) 2014-02-03
CN102549556B (en) 2016-09-28

Similar Documents

Publication Publication Date Title
Flanagan et al. Integration of learning analytics research and production systems while protecting privacy
US9442475B2 (en) Method and system to unify and display simulation and real-time plant data for problem-solving
US6381604B1 (en) Test information management system
US8306805B2 (en) Scenario generation method and scenario generation apparatus
CN103838537A (en) Control device and information processing apparatus
JP2013105358A (en) System and method for comparative test on difference between new and old versions of program
US20120254662A1 (en) Automated test system and automated test method
CN110990285B (en) UI (user interface) automatic testing method and device
CN102549556A (en) Image acquisition device, image acquisition method, and computer program
CN102713876A (en) Image acquisition device, image acquisition method, and computer program
Estévez-Ayres et al. Lostrego: A distributed stream-based infrastructure for the real-time gathering and analysis of heterogeneous educational data
JP5324375B2 (en) Capture system
JP5298967B2 (en) Verification support program, information processing apparatus, and verification support method
CN102597965B (en) Operation verification device, operation verification method
JP2010237841A (en) Device and program for operation verification
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
CN102782657B (en) Operation verification device and operation verification method
JP4795404B2 (en) Operation verification apparatus and operation verification program
CN103186551B (en) Exception analysis method and analogue system based on web application platform
JP2011164785A (en) Device, method and program for verifying operation
JP2007200047A (en) Access log-displaying system and method
JP4903279B2 (en) Operation verification apparatus, operation verification method, and operation verification program
CN106066820A (en) Checking carry recovers automated testing method and the system of volume
CN107609205A (en) Business simulating system and method

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