Information processing program, information processor, and information processing method
The information processing device automatically generates a list of web pages for visual regression tests by identifying and operating on operable page elements within the target web page, even when the website structure is unknown, addressing the limitations of conventional technologies in this area.
Patent Information
- Application Number
- JP2023184193
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-26
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2043-10-26
AI Technical Summary
Conventional technologies struggle to automatically generate a list of web pages for visual regression tests, especially when the structure of the website provided by a cloud service is unknown.
The information processing device acquires path information for document elements in HTML data and identifies operable page elements within the target web page, allowing it to perform operations on these elements and generate a list of web pages for visual regression tests.
This approach enables the automatic generation of a list of web pages for visual regression tests, even when the website structure is unknown, facilitating real-time detection of changes in web page specifications without requiring access to the management interface.
Smart Images

Figure 2025073420000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing program, an information processing device, and an information processing method. [Background technology]
[0002] Conventionally, various techniques for detecting changes in a web page are known. For example, when there is a difference between a first characteristic value previously derived from a web page specified by an address using display character information, which is character information displayed on a screen among information on the web page, and a second characteristic value re-derived from the web page after a predetermined period of time using the display character information, a technique is known for extracting difference information that is the difference between the past display character information and the re-derived display character information. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2013-69159 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, the above-mentioned conventional technology merely extracts changes to the text information displayed on the screen from among the information on a web page, and therefore does not necessarily make it possible to automatically generate a list of web pages to be subjected to visual regression testing.
[0005] An object of the present application is to provide an information processing program, an information processing device, and an information processing method that are capable of automatically generating a list of web pages to be subjected to visual regression testing. [Means for solving the problem]
[0006] The information processing program of the present application causes a computer to execute an acquisition step of acquiring path information regarding paths that specify each of a plurality of document elements that constitute HTML data corresponding to a target web page, which is a web page to be processed; an identification step of identifying a first page element that is an operable page element from among a plurality of page elements that constitute the target web page; and an execution step of executing an operation on the first page element based on the first document element that is a document element corresponding to the first page element and the path information. Effect of the Invention
[0007] According to one aspect of the embodiment, it is possible to automatically generate a list of web pages to be subjected to visual regression testing. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram for explaining the relationship between a cloud service provider, a reseller, and an end user according to the embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of the configuration of the information processing device according to the embodiment. [Diagram 3] FIG. 3 is a flowchart illustrating an example of information processing by the information processing device according to the embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of information stored in a main list storage unit according to the embodiment. [Diagram 5] FIG. 5 is a diagram illustrating an example of information stored in a reference list storage unit according to the embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of information stored in an operation list storage unit according to the embodiment. [Figure 7] FIG. 7 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the information processing device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, the information processing program, the information processing device, and the information processing method according to the present application will be described in detail with reference to the drawings. Note that the information processing program, the information processing device, and the information processing method according to the present application are not limited to the embodiments. In addition, the same parts in the following embodiments are given the same reference numerals, and duplicated explanations are omitted.
[0010] (Embodiment) 1. Introduction 1 is a diagram for explaining the relationship between a cloud service provider, a reseller, and an end user according to the embodiment. An information processing device 100 according to the embodiment is an information processing device used by the reseller shown in FIG.
[0011] The cloud service provider shown in Figure 1 is a business that provides cloud services. The cloud service provider sells cloud services wholesale to resellers. A reseller is a business that combines cloud services purchased from a cloud service provider with the reseller's own services and resells the cloud services. An end user is a general user who purchases cloud services from a reseller and uses the cloud services.
[0012] Resellers sell cloud services to end users with added value according to the terms of their contract with the cloud service provider. In some cases, resellers provide end users with integrated support for reseller services other than cloud services, or construction services, on behalf of the cloud service provider. In addition, it becomes possible to propose cloud services to customers of other services that the reseller has, who the cloud service provider alone cannot reach, and this expands the customer base for cloud services, which also benefits the cloud service provider. In this way, the cloud service resale system shown in Figure 1 is established because there are benefits for cloud service providers, resellers, and end users.
[0013] Cloud service providers use a management interface (also called a console) that manages cloud services to make specification changes such as updates to various services used within the cloud service and changes or termination of functions of various services (hereinafter, sometimes referred to as "specification changes to various services used within the cloud service"). However, cloud service providers do not necessarily provide resellers and end users with information on specification changes to various services used within the cloud service in real time. For example, when the scale of the change is small or there is no change in fees, etc., and active notification is not deemed necessary, help documents, release notes, and other information on the specification changes may be provided to resellers and end users some time after the specification changes to various services used within the cloud service are made. Such specification changes by cloud service providers are unannounced specification changes for resellers and end users. In addition, resellers and end users do not have the authority to view the management interface used by cloud service providers. Therefore, resellers and end users cannot obtain information on specification changes to various services used within the cloud service by viewing the management interface.
[0014] Due to the above circumstances, resellers and end users have not been able to obtain real-time information about changes in the specifications of various services used within a cloud service. As a result, there have been many end-user problems caused by unannounced changes in specifications. In addition, resellers provide technical support for cloud services to end users, and therefore have had to deal with end-user problems caused by unannounced changes in specifications. Therefore, there is a demand, particularly for resellers, for technology that can detect information about changes in specifications of various services used within a cloud service in real time without having to view a management interface.
[0015] In response to this, a technique related to visual regression testing has been conventionally known. Visual regression testing is a technique for detecting the difference between images before and after a change (i.e., the changed parts of a web page) by comparing a screenshot image of a web page before the change with a screenshot image of the web page after the change. This makes it possible to detect information related to specification changes of various services used within a cloud service, for example, without browsing a management interface.
[0016] Incidentally, in order to perform visual regression testing automatically without manual intervention, structural information on the structure of the website to be tested (e.g., source code describing the structure of the website, etc.) is required to write source code for the visual regression test. However, resellers (and end users) cannot know structural information on the structure of the website provided by the cloud service (e.g., source code, etc.). In addition, in large-scale websites such as public clouds, the websites themselves are configured as microservices. Therefore, it may be difficult to detect operable page elements among the page elements that constitute a webpage from HTML data corresponding to the webpage. Therefore, there is a demand for a technology that automatically generates a list of webpages to be subjected to visual regression testing without manual intervention, even when the structure of the website provided by the cloud service is unknown (e.g., source code describing the structure of the website is not available).
[0017] In contrast, the information processing device 100 according to the embodiment acquires path information regarding paths that specify each of a plurality of document elements constituting HTML data corresponding to a target webpage that is a webpage to be processed, identifies a first page element that is an operable page element from among the plurality of page elements constituting the target webpage, and executes an operation on the first page element based on the first document element that is a document element corresponding to the first page element and the path information. As a result, even if the structure of a website provided by a cloud service, for example, is unknown, the information processing device 100 can identify an operable page element from among the plurality of page elements constituting the target webpage and execute an operation on the operable page element. Therefore, the information processing device 100 can automatically generate a list of webpages to be subjected to visual regression testing.
[0018] 2. Configuration of Information Processing Device An example of the configuration of the information processing device 100 according to the embodiment will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of the configuration of the information processing device 100 according to the embodiment. The information processing device 100 has a communication unit 110, a storage unit 130, and a control unit 120.
[0019] (Communication unit 110) The communication unit 110 is realized by a NIC (Network Interface Card), an antenna, etc. The communication unit 110 is connected to various networks by wire or wirelessly, and transmits and receives information to and from other information processing devices other than the information processing device 100, for example.
[0020] (Control unit 120) The control unit 120 is a controller, and is realized, for example, by a CPU (Central Processing Unit), MPU (Micro Processing Unit), etc., executing various programs stored in a storage device inside the information processing device 100 using a RAM as a working area. The control unit 120 is also a controller, and is realized, for example, by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
[0021] The control unit 120 has an acquisition unit 121, a generation unit 122, an identification unit 123, an execution unit 124, and a determination unit 125 as functional units, and may realize or execute the information processing action described below. Note that the internal configuration of the control unit 120 is not limited to the configuration shown in Fig. 2, and may be other configurations as long as they perform the information processing described below. Also, each functional unit indicates a function of the control unit 120, and does not necessarily have to be physically distinct.
[0022] (Acquisition part 121) The acquisition unit 121 acquires various information. Specifically, the acquisition unit 121 acquires URL information indicating a uniform resource locator (URL) corresponding to a target web page that is a web page to be processed. The acquisition unit 121 also acquires URL information indicating the URLs corresponding to all web pages constituting the website to be processed.
[0023] Furthermore, the acquiring unit 121 acquires path information related to paths that specify each of a plurality of document elements that constitute HTML data corresponding to a target webpage that is a webpage to be processed. For example, the acquiring unit 121 acquires an XPATH (an example of path information) that specifies each of all tag elements (an example of document elements) that constitute an HTML document from an HTML source (an example of HTML data) of the target webpage. For example, the acquiring unit 121 acquires an XPATH that specifies each of all tag elements that constitute an HTML document while specifying the tag elements that constitute the HTML document with a regular expression "*" using Puppeteer. When the acquiring unit 121 acquires the path information, it generates reference list information related to a reference list that includes the path information. When the acquiring unit 121 generates the reference list information, it stores the generated reference list information in the reference list storage unit 132 in association with the URL of the target webpage.
[0024] (Generation unit 122) The generating unit 122 generates various information. Specifically, the generating unit 122 generates main list information related to a main list that is a list including a list of URLs corresponding to web pages that are targets of a visual regression test. For example, when the acquiring unit 121 acquires URL information corresponding to a target web page, the generating unit 122 adds the URL information corresponding to the target web page to the main list. In this manner, the generating unit 122 generates main list information related to the main list by adding the URL information corresponding to the target web page to the main list. In the same manner, the generating unit 122 generates main list information related to a main list that includes URL information indicating URLs of a plurality of web pages to be processed, including the target web page. For example, when the acquiring unit 121 acquires URL information corresponding to each of all web pages that constitute a website to be processed, the generating unit 122 adds URL information corresponding to each of all web pages that constitute a website to be processed to the main list. When the generating unit 122 generates the main list information, the generating unit 122 stores the generated main list information in the main list storage unit 131.
[0025] (Specific Section 123) The identification unit 123 identifies various information. Specifically, the identification unit 123 identifies an operable page element (hereinafter, may be referred to as a first page element) from among a plurality of page elements constituting the target webpage. More specifically, when the determination unit 125 determines that there is an operable page element in the target webpage, the identification unit 123 identifies a page element operable by the Tab key from within the target webpage. For example, the identification unit 123 identifies an area including a text field, a text area, a radio button, a check box, a pull-down menu, a field display type selection menu, a slider, a toggle switch, a send button, a reset button, or a hyperlink as the operable page element.
[0026] Next, when the identification unit 123 identifies an operable page element, it refers to the reference list information stored in the reference list storage unit 132 and acquires an XPATH and an iframe that designates a tag element (hereinafter, may be referred to as a first document element) corresponding to the operable page element. Note that, when there is no iframe of a tag element corresponding to the operable page element, the identification unit 123 acquires only the XPATH. When the identification unit 123 acquires an XPATH and an iframe corresponding to the operable page element, it writes the XPATH and the iframe corresponding to the operable page element in the operation list. In this way, the identification unit 123 generates operation list information related to the operation list by writing the XPATH and the iframe corresponding to the operable page element in the operation list. When the identification unit 123 generates operation list information, it stores the generated operation list information in the operation list storage unit 133.
[0027] (Executive Division 124) The execution unit 124 executes various operations. Specifically, the execution unit 124 executes various operations performed on a web browser. More specifically, the execution unit 124 executes an operation on the first page element based on the first document element (e.g., XPATH and iframe) that is a document element corresponding to the first page element identified by the identification unit 123 and path information. For example, the execution unit 124 executes an operation on the first page element by referring to the operation list information stored in the operation list storage unit 133. For example, the execution unit 124 executes an operation by the Tab key, an operation by clicking, an operation by mouse over, or the like. The execution unit 124 executes an operation on the first page element described in the operation list one page element at a time. When the execution unit 124 executes an operation on a predetermined first page element, the execution unit 124 reloads the URL described in the operation list again (returns it to a default state) so that the influence of the operation history does not remain, and then executes an operation on the next first page element.
[0028] Furthermore, the acquiring unit 121 acquires post-operation path information related to paths that designate each of a plurality of document elements that constitute the post-operation HTML data, which is HTML data corresponding to the post-operation webpage that is the target webpage after the operation on the first page element is executed, based on the first information added to the main list. For example, the acquiring unit 121 acquires XPATH and iframe as the post-operation path information.
[0029] (Judgment unit 125) The determination unit 125 determines whether or not there is an operable page element in the target webpage. Specifically, the determination unit 125 determines whether or not there is an area including a text field, a text area, a radio button, a check box, a pull-down menu, a field display type selection menu, a slider, a toggle switch, a send button, a reset button, or a hyperlink as an operable page element in the target webpage. For example, the determination unit 125 determines whether or not a tag element corresponding to the operable page element exists in the HTML data corresponding to the target webpage. When the determination unit 125 determines that a tag element corresponding to the operable page element exists in the HTML data corresponding to the target webpage, the determination unit 125 determines that there is an operable page element in the target webpage. On the other hand, when the determination unit 125 determines that there is no document element corresponding to the operable page element in the HTML data corresponding to the target webpage, the determination unit 125 determines that there is no operable page element in the target webpage.
[0030] Furthermore, the determination unit 125 determines whether or not the operation of the web browser detected after the execution unit 124 executes an operation on an operable page element is a page transition. In this manner, the determination unit 125 determines whether or not the operation of the web browser detected after the execution unit 124 executes an operation on a first page element is a page transition.
[0031] When the determination unit 125 determines that the operation of the web browser is not a page transition, the acquisition unit 121 acquires an XPATH and an iframe corresponding to an operable page element. When the acquisition unit 121 acquires an XPATH and an iframe corresponding to an operable page element, the generation unit 122 adds the XPATH and the iframe corresponding to the operable page element to the main list in association with URL information of the target web page. In this way, when the determination unit 125 determines that the operation of the web browser is not a page transition, the generation unit 122 adds to the main list first information that associates, among the path information, first path information related to a path specifying a first document element with first URL information indicating the URL of the target web page.
[0032] On the other hand, when the determination unit 125 determines that the operation of the web browser is a page transition, the acquisition unit 121 acquires URL information indicating the URL of the transition destination web page. When the acquisition unit 121 acquires the URL information of the transition destination web page, the generation unit 122 adds the URL information corresponding to the transition destination web page to the main list. In this way, when the determination unit 125 determines that the operation of the web browser is a page transition, the generation unit 122 adds second URL information indicating the URL of the transition destination web page transitioned to by the page transition to the main list.
[0033] In addition, the determination unit 125 determines whether or not there are other operable page elements in the target web page. If the determination unit 125 determines that there are no other operable page elements in the target web page, the determination unit 125 resets the reference list information and the operation list information, and sets the transition destination web page as the target web page.
[0034] Furthermore, the determination unit 125 determines whether or not there is an operable page element in the post-operation webpage. When the determination unit 125 determines that there is no operable page element in the post-operation webpage, the process ends. On the other hand, when the determination unit 125 determines that there is an operable page element in the post-operation webpage, the acquisition unit 121 acquires an XPATH and an iframe corresponding to the operable page element. When the acquisition unit 121 acquires an XPATH and an iframe corresponding to the operable page element, the generation unit 122 adds the XPATH and the iframe corresponding to the operable page element to the main list.
[0035] Furthermore, the identification unit 123 identifies a second page element that is an operable page element from among a plurality of page elements constituting the post-operation web page. More specifically, when the determination unit 125 determines that there is an operable page element in the post-operation web page, the identification unit 123 identifies a page element that is operable by the Tab key from among the target web page. The execution unit 124 executes an operation on the second page element based on the post-operation path information and the second document element that is a document element corresponding to the second page element identified by the identification unit 123. For example, the execution unit 124 executes an operation on the second page element by referring to the operation list information stored in the operation list storage unit 133.
[0036] Furthermore, the determination unit 125 determines whether the operation of the web browser detected after the operation on the second page element is a page transition. If the determination unit 125 determines that the operation of the web browser is not a page transition, the generation unit 122 adds to the list second information that associates the first URL information with second path information related to a path specifying the second document element, among the post-operation path information. On the other hand, if the determination unit 125 determines that the operation of the web browser is a page transition, the generation unit 122 adds to the list third URL information that indicates the URL of the destination web page transitioned to by the page transition.
[0037] Fig. 3 is a flowchart showing an example of information processing by the information processing device according to the embodiment. In Fig. 3, the acquisition unit 121 acquires URL information corresponding to a target web page. When the URL information is acquired by the acquisition unit 121, the generation unit 122 writes the URL information corresponding to the target web page in the main list (step S101).
[0038] Furthermore, the acquiring unit 121 acquires path information related to XPATH that designates each of a plurality of document elements (e.g., tag elements) that constitute the HTML data corresponding to the target web page. When the acquiring unit 121 acquires the path information, the acquiring unit 121 generates reference list information related to a reference list that includes the path information (step S102).
[0039] For example, when the reference list information is generated by the acquisition unit 121, the determination unit 125 determines whether or not there is an operable page element in the target web page (step S103). When the determination unit 125 determines that there is no operable page element in the target web page (step S103; No), the process ends.
[0040] On the other hand, when the determination unit 125 determines that there is an operable page element in the target web page (step S103; Yes), the identification unit 123 identifies a page element operable with the Tab key from the target web page (step S104). Next, when the identification unit 123 identifies an operable page element, it acquires an XPATH and an iframe that specify a tag element corresponding to the operable page element. Next, when the identification unit 123 acquires an XPATH and an iframe corresponding to the operable page element, it writes the XPATH and the iframe corresponding to the operable page element in the operation list (step S105). In this way, the identification unit 123 generates operation list information related to the operation list.
[0041] For example, when operation list information is generated by the identification unit 123, the execution unit 124 compares the XPATH and iframe corresponding to the operable page element identified by the identification unit 123 with the reference list information generated by the acquisition unit 121, and executes the operation on the operable page element (step S106).
[0042] The determination unit 125 determines whether the operation of the web browser detected after the execution unit 124 executes an operation on an operable page element is a page transition (step S107). When the determination unit 125 determines that the operation of the web browser is a page transition (step S107; Yes), the acquisition unit 121 acquires URL information indicating the URL of the transition destination web page. When the acquisition unit 121 acquires the URL information of the transition destination web page, the generation unit 122 adds the URL information corresponding to the transition destination web page to the main list (step S108). The determination unit 125 determines whether there are other operable page elements in the target web page (step S109). When the determination unit 125 determines that there are no other operable page elements in the target web page (step S109; No), the determination unit 125 resets the reference list information and the operation list information, and sets the transition destination web page as the target web page (step S110). On the other hand, if the determination unit 125 determines that the transition destination web page is the target web page, the acquisition unit 121 executes the process of step S102. On the other hand, if the determination unit 125 determines that there is another operable page element in the target web page (step S109; Yes), the identification unit 123 executes the process of step S104.
[0043] When the determination unit 125 determines that the web browser operation is not a page transition (step S107; No), the acquisition unit 121 acquires an XPATH and an iframe corresponding to an operable page element. When the acquisition unit 121 acquires an XPATH and an iframe corresponding to an operable page element, the generation unit 122 adds the XPATH and the iframe corresponding to the operable page element to the main list (step S111). In this manner, the generation unit 122 generates main list information related to the main list.
[0044] In addition, the acquisition unit 121 acquires post-operation path information regarding paths that specify each of the multiple document elements that constitute the post-operation HTML data corresponding to the post-operation web page after the execution unit 124 has performed an operation on the operable page elements, and compares it with the reference list information (step S112).
[0045] The determination unit 125 determines whether or not there is an operable page element in the post-operation web page (step S113). When the determination unit 125 determines that there is no operable page element in the post-operation web page (step S113; No), the process ends. On the other hand, when the determination unit 125 determines that there is an operable page element in the post-operation web page (step S113; Yes), the acquisition unit 121 acquires an XPATH and an iframe corresponding to the operable page element. When the acquisition unit 121 acquires an XPATH and an iframe corresponding to the operable page element, the generation unit 122 adds the XPATH and the iframe corresponding to the operable page element to the main list (step S111).
[0046] (Storage unit 130) The storage unit 130 is realized by, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk.
[0047] 2, the storage unit 130 includes a main list storage unit 131, a reference list storage unit 132, and an operation list storage unit 133. Below, these components will be described in order.
[0048] (Main list storage unit 131) The main list storage unit 131 stores information about web pages that are the subject of visual regression testing (hereinafter, target web pages). Fig. 4 is a diagram showing an example of information stored in the main list storage unit according to the embodiment. In the example shown in Fig. 4, the main list storage unit 131 stores information related to the items "URL", "XPATH", and "iframe" in association with each other.
[0049] "URL" indicates the URL of the target webpage. "XPATH" indicates a path that specifies the tag elements that make up the HTML data corresponding to the target webpage. "iframe" indicates an inline frame among the tag elements that make up the HTML data corresponding to the target webpage.
[0050] The information stored in the main list storage unit 131 is not limited to the information related to the items "URL", "XPATH", and "iframe", and other information related to the target webpage may be stored. For example, in addition to the items "URL", "XPATH", and "iframe", the main list storage unit 131 may store the title of the target webpage and information that can identify the target webpage in association with the URL of the target webpage.
[0051] (Reference list storage unit 132) The reference list storage unit 132 stores information about paths that specify each page element that constitutes a target web page. Fig. 5 is a diagram showing an example of information stored in the reference list storage unit according to the embodiment. In the example shown in Fig. 5, the reference list storage unit 132 stores information related to an item called "XPATH".
[0052] "XPATH" indicates the XPATH that specifies each page element that constitutes the target web page.
[0053] (Operation list storage unit 133) The operation list storage unit 133 stores information about operable page elements among the page elements constituting the target web page. Fig. 6 is a diagram showing an example of information stored in the operation list storage unit according to the embodiment. In the example shown in Fig. 6, the operation list storage unit 133 stores information related to the items "URL", "XPATH", and "iframe" in association with each other.
[0054] "URL" indicates the URL of the target webpage. "XPATH" indicates the XPATH that specifies the tag elements that correspond to the operable page elements among the tag elements that make up the HTML data corresponding to the target webpage. "iframe" indicates the inline frame that corresponds to the operable page elements among the tag elements that make up the HTML data corresponding to the target webpage.
[0055] The information stored in the operation list memory unit 133 is not limited to information relating to the items "URL", "XPATH", and "iframe", but may store information relating to operable page elements among other page elements constituting the target web page.
[0056] The execution unit 124 also executes a visual regression test based on the main list information generated by the generation unit 122. Specifically, the execution unit 124 refers to the main list information and acquires images (hereinafter, may be referred to as "previous day images") corresponding to all target web pages listed in the main list on the day before the predetermined day. For example, the execution unit 124 acquires a screenshot (also referred to as a full screenshot) corresponding to the entire target web page (full screen) as the previous day image. Furthermore, when the execution unit 124 acquires the previous day image, the execution unit 124 associates information indicating the acquisition date of the previous day image with the acquired previous day image and stores the associated information in the storage unit 130. Furthermore, the execution unit 124 refers to the main list information and acquires images (hereinafter, may be referred to as "today images") corresponding to all target web pages listed in the main list on the predetermined day. For example, the execution unit 124 acquires a screenshot (also referred to as a full screenshot) corresponding to the entire target web page (full screen) as the today image. Furthermore, when the execution unit 124 acquires a current day image, the execution unit 124 stores in the storage unit 130 information indicating the acquisition date of the current day image and the acquired current day image in association with each other.
[0057] For example, the execution unit 124 accesses a plurality of terminals (serverless) having different IP addresses in a distributed manner and fixes the display size of the target webpage. Next, after displaying the target webpage, the execution unit 124 scrolls the target webpage once to the end (i.e., after the loading of images, page contents, etc. is completed), and then acquires a screenshot (also called a full screenshot) corresponding to the entire target webpage (full screen). In this way, the information processing device 100 can eliminate errors due to page divisions in a screenshot of one page, including cases where the vertical size differs for each target webpage, and can therefore realize comparison of images on a functional basis and detection of difference information. In addition, when the target webpage contains unimportant page elements such as advertisements, banners, headers, and top bars, the execution unit 124 hides the target page elements and then acquires a screenshot (also called a full screenshot) corresponding to the entire target webpage (full screen).
[0058] Furthermore, when the execution unit 124 saves the previous day's image and the current day's image, it compares the previous day's image corresponding to each of all the target web pages listed in the main list with the current day's image corresponding to the previous day's image, and detects difference information between the previous day's image and the current day's image. For example, the execution unit 124 compares the previous day's image after processing in which the previous day's image is intentionally blurred by Gaussian smoothing with the current day's image after processing in which the current day's image corresponding to the previous day's image is intentionally blurred by Gaussian smoothing, and detects difference information between the previous day's image after processing and the current day's image after processing. This allows the information processing device 100 to eliminate noise in the image and detect difference information by focusing on information that should be detected as difference information. For example, the information processing device 100 can prevent a case in which the displayed text is the same, but the font type is different depending on the viewing environment, and is detected as a difference during image comparison processing by Gaussian smoothing. Furthermore, when the execution unit 124 detects difference information, it notifies the administrator who manages the information processing device 100 of the detected difference information.
[0059] 3. Effects As described above, the information processing device 100 according to the embodiment includes an acquisition unit 121, an identification unit 123, and an execution unit 124. The acquisition unit 121 acquires path information relating to paths that specify each of a plurality of document elements constituting HTML data corresponding to a target web page that is a web page to be processed. The identification unit 123 identifies a first page element that is an operable page element from among a plurality of page elements constituting the target web page. The execution unit 124 executes an operation on the first page element based on the first document element that is a document element corresponding to the first page element and the path information.
[0060] As a result, even if the structure of a website provided by a cloud service is unknown, the information processing device 100 can identify operable page elements from among multiple page elements constituting a target webpage and execute operations on the operable page elements. Therefore, the information processing device 100 can automatically generate a list of webpages to be subject to visual regression testing. In addition, the information processing device 100 can automatically generate a list of webpages to be subject to visual regression testing, thereby contributing to the achievement of Goal 9 of the Sustainable Development Goals (SDGs), "Build resilient infrastructure and promote industry, innovation and infrastructure."
[0061] Moreover, the information processing device 100 according to the embodiment further includes a generating unit 122 and a determining unit 125. The generating unit 122 generates a list including URL information indicating URLs of a plurality of web pages to be processed including the target web page. The determining unit 125 determines whether or not the operation of the web browser detected after the operation on the first page element is executed is a page transition. When the determining unit 125 determines that the operation of the web browser is not a page transition, the generating unit 122 adds to the list first information in which first path information related to a path specifying the first document element and first URL information indicating the URL of the target web page are associated with each other among the path information, and when the determining unit 125 determines that the operation of the web browser is a page transition, the generating unit 122 adds to the list second URL information indicating the URL of the web page to which the page transition has been made.
[0062] This enables the information processing device 100 to automatically generate a list of web pages to be subjected to visual regression testing, even when the structure of a website provided by a cloud service is unknown, for example.
[0063] Furthermore, the acquiring unit 121 acquires post-operation path information related to paths designating each of a plurality of document elements constituting the post-operation HTML data, which is HTML data corresponding to the post-operation web page, which is the target web page after the operation on the first page element, based on the first information added to the list. The identifying unit 123 identifies a second page element, which is an operable page element, from among the plurality of page elements constituting the post-operation web page. The executing unit 124 executes the operation on the second page element, based on the second document element, which is a document element corresponding to the second page element, and the post-operation path information.
[0064] As a result, even if the structure of a website provided by a cloud service is unknown, the information processing device 100 can identify operable page elements from among multiple page elements that constitute a post-operation webpage and perform operations on the operable page elements.
[0065] Furthermore, the determination unit 125 determines whether the operation of the web browser detected after the execution of the operation on the second page element is a page transition. When the determination unit 125 determines that the operation of the web browser is not a page transition, the generation unit 122 adds to the list second information that associates the first URL information with second path information related to a path specifying the second document element, among the post-operation path information, and when the determination unit 125 determines that the operation of the web browser is a page transition, the generation unit 122 adds to the list third URL information that indicates the URL of the destination web page transitioned to by the page transition.
[0066] As a result, the information processing device 100 can automatically generate a list of web pages to be subjected to visual regression testing depending on whether or not a page transition occurs as a result of an operation on an operable page element, even if the structure of a website provided by a cloud service is unknown, for example.
[0067] Additionally, an operable page element is a region that includes a text field, a text area, a radio button, a check box, a pull-down menu, a field-display type selection menu, a slider, a toggle switch, a submit button, a reset button, or a hyperlink.
[0068] This allows the information processing device 100 to perform operations on areas including text fields, text areas, radio buttons, check boxes, pull-down menus, field-display type selection menus, sliders, toggle switches, send buttons, reset buttons, or hyperlinks, even if the structure of a website provided by a cloud service is unknown, for example.
[0069] [4. Hardware Configuration] Moreover, the information processing device 100 according to the embodiment described above is realized by, for example, a computer 1000 having a configuration as shown in Fig. 7. Fig. 7 is a hardware configuration diagram showing an example of a computer that realizes the functions of the information processing device 100. The computer 1000 includes a CPU 1100, a RAM 1200, a ROM 1300, a HDD 1400, a communication interface (I / F) 1500, an input / output interface (I / F) 1600, and a media interface (I / F) 1700.
[0070] The CPU 1100 operates and controls each unit based on a program stored in the ROM 1300 or the HDD 1400. The ROM 1300 stores a boot program executed by the CPU 1100 when the computer 1000 is started up, programs that depend on the hardware of the computer 1000, and the like.
[0071] The HDD 1400 stores programs executed by the CPU 1100, data used by such programs, etc. The communication interface 1500 receives data from other devices via a predetermined communication network and sends it to the CPU 1100, and transmits data generated by the CPU 1100 to other devices via the predetermined communication network.
[0072] The CPU 1100 controls output devices such as a display and a printer, and input devices such as a keyboard and a mouse, via the input / output interface 1600. The CPU 1100 acquires data from the input devices via the input / output interface 1600. The CPU 1100 also outputs generated data to the output devices via the input / output interface 1600.
[0073] The media interface 1700 reads a program or data stored in the recording medium 1800 and provides it to the CPU 1100 via the RAM 1200. The CPU 1100 loads the program from the recording medium 1800 onto the RAM 1200 via the media interface 1700 and executes the loaded program. The recording medium 1800 is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase change rewritable Disc), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
[0074] For example, when the computer 1000 functions as the information processing device 100 according to the embodiment, the CPU 1100 of the computer 1000 executes programs loaded onto the RAM 1200 to realize the functions of the control unit 120. The CPU 1100 of the computer 1000 reads and executes these programs from the recording medium 1800, but as another example, the CPU 1100 may obtain these programs from other devices via a predetermined communication network.
[0075] Although some of the embodiments of the present application have been described in detail above with reference to the drawings, these are merely examples, and the present invention can be embodied in other forms that incorporate various modifications and improvements based on the knowledge of those skilled in the art, including the forms described in the Disclosure of the Invention section.
[0076] [5. Other] Furthermore, among the processes described in the above embodiments and modifications, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically by a known method. In addition, the information including the processing procedures, specific names, various data and parameters shown in the above documents and drawings can be changed arbitrarily unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.
[0077] In addition, each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or part of them can be functionally or physically distributed and integrated in any unit according to various loads, usage conditions, etc.
[0078] Furthermore, the above-described embodiments and modifications can be appropriately combined as long as the processing contents are not contradictory. [Explanation of symbols]
[0079] 100 Information processing device 110 Communications Department 120 Control section 121 Acquisition Department 122 Generation part 123 Specific part 124 Executive Department 125 Judgment section 130 Storage section 131 Main List Storage 132 Reference list storage unit 133 Operation list storage unit
Claims
1. An acquisition step of acquiring path information regarding paths that designate each of a plurality of document elements that constitute HTML data corresponding to a target web page that is a web page to be processed; an identifying step of identifying a first page element, which is an operable page element, from among a plurality of page elements constituting the target web page; an execution step of executing an operation on the first page element based on a first document element that is a document element corresponding to the first page element and the path information; An information processing program that causes a computer to execute the above.
2. a generating step of generating a list including URL information indicating URLs of a plurality of web pages to be processed including the target web page; a determination step of determining whether an operation of the web browser detected after the operation on the first page element is a page transition; Further executing the following on the computer, The generating procedure includes: when it is determined that the operation of the web browser is not a page transition by the determination step, adding, to the list, first information that associates, among the path information, first path information related to a path that designates the first document element with first URL information that indicates a URL of the target web page; adding second URL information indicating a URL of a destination web page to which the page transition has been made by the page transition to the list when the operation of the web browser is determined to be a page transition by the determining step; The information processing program according to claim 1 .
3. The acquisition step includes: acquiring post-operation path information relating to paths designating each of a plurality of document elements constituting post-operation HTML data, which is HTML data corresponding to a post-operation web page, which is the target web page after the operation on the first page element, based on the first information added to the list; The identification step includes: identifying a second page element that is an operable page element from among a plurality of page elements constituting the post-operation web page; The execution procedure includes: executing an operation on the second page element based on a second document element that is a document element corresponding to the second page element and the post-operation path information; The information processing program according to claim 2.
4. The determination procedure includes: determining whether an action of the web browser detected after the operation on the second page element is a page transition; The generating procedure includes: when it is determined that the operation of the web browser is not a page transition by the determination step, adding second information, which associates second path information related to a path specifying the second document element with the first URL information, among the post-operation path information, to the list; adding third URL information indicating a URL of a destination web page to which the page transition has been made by the page transition to the list when the operation of the web browser is determined to be a page transition by the determining step; The information processing program according to claim 3.
5. the operable page element is a text field, a text area, a radio button, a check box, a pull-down menu, a field-displayed selection menu, a slider, a toggle switch, a submit button, a reset button, or an area containing a hyperlink; The information processing program according to claim 1 .
6. an acquisition unit that acquires path information regarding paths that designate each of a plurality of document elements that constitute HTML data corresponding to a target web page that is a web page to be processed; an identification unit that identifies a target element that is an operable page element from among a plurality of page elements that constitute the target web page; an execution unit that executes an operation on the target element based on a target document element that is a document element corresponding to the target element and the path information; An information processing device comprising:
7. An information processing method implemented by a program executed by an information processing device, comprising: an acquiring step of acquiring path information relating to paths that designate each of a plurality of document elements that constitute HTML data corresponding to a target web page that is a web page to be processed; an identification step of identifying a target element that is an operable page element from among a plurality of page elements constituting the target web page; an execution step of executing an operation on the target element based on a target document element that is a document element corresponding to the target element and the path information; An information processing method comprising:
Citation Information
Patent Citations
Collecting method and apparatus for web information
JP2002099460A
Device, system and method for providing information, and program
JP2003256316A
Link tree creation program and creation device
JP2009223485A
Information acquisition program, information acquisition method, and information acquisition device
JP2019144823A
Program, information processing method, and information processing device
JP2023075780A