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

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

Info

Publication number
CN102549556B
CN102549556B CN201080043089.XA CN201080043089A CN102549556B CN 102549556 B CN102549556 B CN 102549556B CN 201080043089 A CN201080043089 A CN 201080043089A CN 102549556 B CN102549556 B CN 102549556B
Authority
CN
China
Prior art keywords
mentioned
grabgraf
browser
picture
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080043089.XA
Other languages
Chinese (zh)
Other versions
CN102549556A (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

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

Action verifying attachment (100) including: window display position obtaining section (602), for the browser window of the client region with the additional areas being different from client region including display webpage, the display position of the browser window on acquirement picture;Client region determines portion (606), according to the size of additional areas in display position, the browser window of the browser window on picture and the size of the status bar in browser window, determines the display position of client region on picture;Image acquiring section (625), according to determined by display position on picture, the display image of client region is carried out grabgraf.

Description

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

Claims (7)

1. an image capturing device, it is characterised in that including:
Display part, becomes the web displaying that provided of web application of test object on picture;
The window's position obtaining section, for including showing the client region of above-mentioned webpage and being different from the additional zone of above-mentioned client region The browser window in territory, obtains the display position of above-mentioned browser window on above-mentioned picture;
Picture position determines portion, according to the display position of above-mentioned browser window on above-mentioned picture, above-mentioned browser window The size of additional areas and the size of the status bar of above-mentioned browser window, determine the above-mentioned client region on above-mentioned picture Display position;And
Image acquiring section, determines the display position on above-mentioned picture determined by portion, to above-mentioned client according to above-mentioned picture position The display image in region carries out grabgraf,
Wherein, in the case of above-mentioned browser window can not show the content of whole above-mentioned client region, above-mentioned visitor is made Region, family roll display, makes above-mentioned image acquiring section obtain the multiple images of the part comprising above-mentioned client region respectively Data, and make above-mentioned multiple view data couple together and the view data that obtains preserves as final grabgraf image.
2. image capturing device as claimed in claim 1, it is characterised in that
The additional areas of above-mentioned browser window is got rid of from grabgraf object by above-mentioned image acquiring section.
3. image capturing device as claimed in claim 1, it is characterised in that
Above-mentioned picture position determines that portion includes:
Additional areas determines portion, obtains length and the length of above-mentioned client region of above-mentioned browser window, by from above-mentioned clear The length of device window of looking at deduct above-mentioned client region length and as the size of above-mentioned status bar predetermined length, come Derive the length of above-mentioned additional areas, and
Client region determines portion, by the display position of the above-mentioned browser window that makes on above-mentioned picture according to above-mentioned additional areas Length and position after conjugating, the display position of the above-mentioned client region being defined as on above-mentioned picture.
4. image capturing device as claimed in claim 3, it is characterised 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 joined Put the bottom at above-mentioned client region;
Above-mentioned the window's position obtaining section obtains the top-left coordinates of the above-mentioned browser window in orthogonal coordinate system as above-mentioned picture On the display position of above-mentioned browser window;
Above-mentioned additional areas determines that portion determines the longitudinal length of above-mentioned additional areas;
Above-mentioned client region determines that portion is by making the ordinate value in the top-left coordinates of above-mentioned browser window plus above-mentioned additional The longitudinal length in region, derives the top-left coordinates of above-mentioned client region in above-mentioned orthogonal coordinate system.
5. image capturing device as claimed in claim 4, it is characterised in that
Above-mentioned client region determines that portion is by making the ordinate value in the top-left coordinates of above-mentioned browser window plus above-mentioned additional The longitudinal length in region, derives the ordinate value in the top-left coordinates of above-mentioned client region, and makes above-mentioned browser window Abscissa value in top-left coordinates is plus as the above-mentioned browser window of expression and the width of the wire on outside border in advance The length determined, derives the abscissa value in the top-left coordinates of above-mentioned client region.
6. the image capturing device as described in any one of claim 1 to 5, it is characterised in that
Above-mentioned client region comprises multiple framework;
This device also includes frame position obtaining section, for the grabgraf object-oriented framework in above-mentioned multiple frameworks, obtains above-mentioned client The position of the above-mentioned grabgraf object-oriented framework in region;
Above-mentioned picture position determines that portion is according in the display position of the above-mentioned client region on above-mentioned picture and above-mentioned client region The position of above-mentioned grabgraf object-oriented framework, determine the display position of above-mentioned grabgraf object-oriented framework on above-mentioned picture;
Above-mentioned image acquiring section is according to the display position of the above-mentioned grabgraf object-oriented framework on above-mentioned picture, to above-mentioned grabgraf object box The display image of frame carries out grabgraf.
7. the image acquisition method performed by image capturing device, it is characterised in that including:
The web displaying that thered is provided of web application of the test object step on picture is provided;
For the browser window of the additional areas comprising the client region showing above-mentioned webpage and be different from above-mentioned client region, Obtain the step of the display position of above-mentioned browser window on above-mentioned picture;
According to the above-mentioned browser window on above-mentioned picture display position, above-mentioned browser window additional areas size, And the size of the status bar of above-mentioned browser window, determine the determination of the display position of above-mentioned client region on above-mentioned picture Step;And
According to above-mentioned determine in step determined by display position on above-mentioned picture, the display image to above-mentioned client region Carry out the step of grabgraf,
Wherein, above-mentioned client region is being shown in the step that image carries out grabgraf, can not show at above-mentioned browser window In the case of the content of whole above-mentioned client region, making above-mentioned client region roll display, comprising respectively while obtaining State multiple view data of a part for client region, and make above-mentioned multiple view data couple together and the view data that obtains Preserve as final grabgraf image.
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 CN102549556A (en) 2012-07-04
CN102549556B true 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)

Families Citing this family (3)

* 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
CN110909739B (en) * 2019-11-19 2021-01-08 广东润联信息技术有限公司 Picture identification and operation method and device, computer equipment and storage medium

Citations (3)

* 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
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 (4)

* 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
CN100592292C (en) * 2007-04-09 2010-02-24 腾讯科技(深圳)有限公司 Web page screen-cutting system and implementation method
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 (3)

* 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
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

Also Published As

Publication number Publication date
JP5303680B2 (en) 2013-10-02
WO2012042560A1 (en) 2012-04-05
JPWO2012042560A1 (en) 2014-02-03
CN102549556A (en) 2012-07-04

Similar Documents

Publication Publication Date Title
US7882444B2 (en) Methods and devices for reconstructing visual stimuli observed through browser-based interfaces over time
JP5703195B2 (en) Differential comparison test system and test method for new and old versions of program
JP5376509B2 (en) Execution history trace method
CN102306174B (en) Method and equipment for interacting with user based on web page elements
CN102664748B (en) Interactive electronic technical manual-based online fault diagnosis equipment and online fault diagnosis method
JP2007172377A (en) Method for analyzing state transition in web page
US20120254662A1 (en) Automated test system and automated test method
CN111290951A (en) Test method, terminal, server, system and storage medium
CN105760290A (en) Problem positioning method based on web front-end testing as well as related device and system
CN102549556B (en) Image capturing device, image acquisition method and computer program
JP2015069437A (en) Trace method, processing program, and information processing device
CN102713876B (en) Image capturing device and image acquisition method
CN110990285B (en) UI (user interface) automatic testing method and device
CN102597965B (en) Operation verification device, operation verification method
JP5324375B2 (en) Capture system
JP5038036B2 (en) Test execution system, test execution apparatus, information processing apparatus, test execution method, program, and storage medium
JP4795404B2 (en) Operation verification apparatus and operation verification program
CN102782657B (en) Operation verification device and operation verification method
JP2011164785A (en) Device, method and program for verifying operation
CN103186551B (en) Exception analysis method and analogue system based on web application platform
WO2022230189A1 (en) Test support device, test support method, and program
Tessier et al. Towards a formal detection of semantic conflicts between aspects: A model-based approach
JP2004013242A (en) Usability evaluation support method
JP2021071777A (en) Information processing device, information processing method, and program
CN104834925B (en) Information processing unit, character position bearing calibration and information processing system

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