Information processing program, information processing device, and information processing method

The information processing apparatus automatically generates a list of web pages for visual regression testing by identifying and operating on operable elements within cloud service websites, overcoming the limitation of unavailable structural information.

JP7850123B2Active Publication Date: 2026-04-22SOFTBANK CORPORATION
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
SOFTBANK CORPORATION
Filing Date
2023-10-26
Publication Date
2026-04-22

AI Technical Summary

Technical Problem

Conventional techniques for detecting changed portions of web pages are inadequate for automatically generating a list of web pages to be targeted for visual regression testing, particularly in cloud service environments where structural information is unavailable.

Method used

An information processing apparatus that acquires path information for document elements, identifies operable page elements, and performs operations on these elements to automatically generate a list of web pages for visual regression testing, even when the website structure is unknown.

Benefits of technology

Enables automatic generation of a list of web pages for visual regression testing, addressing the challenge of unknown website structures and facilitating real-time detection of specification changes in cloud services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007850123000001
    Figure 0007850123000001
  • Figure 0007850123000002
    Figure 0007850123000002
  • Figure 0007850123000003
    Figure 0007850123000003
Patent Text Reader

Abstract

To provide an information processing program that can automatically generate a list of web pages to be subjected to visual regression testing.SOLUTION: An information processing program according to the present application causes a computer to execute procedures of: acquiring path information on paths that specify 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; 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 executing, on the basis of a first document element corresponding to the first page element, and the path information, an operation on the first page element.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing program, an information processing apparatus, and an information processing method.

Background Art

[0002] Conventionally, various techniques for detecting changed portions of a web page have been known. For example, from a web page specified by an address, a first characteristic value derived in the past using display character information, which is character information displayed on the screen among the information of the web page, and after a predetermined period, from the web page, when there is a difference between the first characteristic value and a second characteristic value newly derived again using the display character information, a technique for extracting difference information, which is the difference between the past display character information and the newly derived display character information, is known.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, in the above conventional technique, since it only extracts the changed portions of the character information displayed on the screen among the information of the web page, it is not always possible to automatically generate a list of web pages to be targeted for visual regression testing.

[0005] An object of the present application is to provide an information processing program, an information processing apparatus, and an information processing method capable of automatically generating a list of web pages to be targeted for visual regression testing.

Means for Solving the Problems

[0006] The information processing program according to the present invention causes a computer to execute the following steps: an acquisition procedure for acquiring path information relating to paths that specify each of a plurality of document elements constituting HTML data corresponding to a target web page, which is a web page to be processed; an identification procedure for identifying a first page element, which is an operable page element, from among the plurality of page elements constituting the target web page; and an execution procedure for performing an operation on the first page element based on the first document element, which is a document element corresponding to the first page element, and the path information. [Effects of the Invention]

[0007] According to one embodiment, it is possible to automatically generate a list of web pages that are subject to visual regression testing. [Brief explanation of the drawing]

[0008] [Figure 1] Figure 1 is a diagram illustrating the relationship between a cloud service provider, a reseller, and an end user according to an embodiment of this example. [Figure 2] Figure 2 shows an example of the configuration of an information processing device according to the embodiment. [Figure 3] Figure 3 is a flowchart showing an example of information processing by the information processing device according to the present invention. [Figure 4] Figure 4 shows an example of information stored in the main list storage unit according to this embodiment. [Figure 5] Figure 5 shows an example of information stored in the reference list storage unit according to this embodiment. [Figure 6] Figure 6 shows an example of information stored in the operation list storage unit according to this embodiment. [Figure 7] Figure 7 is a hardware configuration diagram showing an example of a computer that implements the functions of an information processing device. [Modes for carrying out the invention]

[0009] Hereinafter, embodiments for implementing the information processing program, information processing apparatus, and information processing method according to the present application (hereinafter referred to as "embodiments") will be described in detail with reference to the drawings. Note that the information processing program, information processing apparatus, and information processing method according to the present application are not limited by these embodiments. Also, in the following embodiments, the same parts are denoted by the same reference numerals, and redundant descriptions are omitted.

[0010] (Embodiment) [1. Introduction] FIG. 1 is a diagram for explaining the relationship among a cloud service provider, a reseller, and an end user according to the embodiment. The information processing apparatus 100 according to the embodiment is an information processing apparatus used by the reseller shown in FIG. 1.

[0011] The cloud service provider shown in FIG. 1 is a provider of cloud services. The cloud service provider wholesales and sells cloud services to resellers. A reseller is a business that combines its own services and the like with the cloud services purchased from the cloud service provider and resells the cloud services. An end user is a general user who purchases a cloud service from a reseller and uses the cloud service.

[0012] The reseller sells the cloud service to the end user with added value according to the contract content with the cloud service provider. There are cases where the reseller provides integrated support with reseller services other than the cloud service or construction services to the end user on behalf of the cloud service provider. Also, since it is possible to propose a cloud service to customers of another service that the cloud service provider alone cannot reach, the customer base of the cloud service can be expanded, and the cloud service provider also benefits. Thus, since there are advantages for each of the cloud service provider, the reseller, and the end user, the reselling mechanism of the cloud service as shown in FIG. 1 is established.

[0013] Cloud service providers use a management interface (also called a console) to manage their cloud services and make specification changes such as updates to various services used within the cloud service, or changes or termination of functions within those services (hereinafter sometimes referred to as "specification changes to various services used within the cloud service"). However, information regarding specification changes to various services used within the cloud service is not always provided to resellers and end users in real time. For example, if the scale of the change is small or there is no change in fees, and proactive notification is not deemed necessary, information such as help documents and release notes regarding 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 have been made. Such specification changes by cloud service providers are considered unannounced specification changes for resellers and end users. Furthermore, resellers and end users do not have the authority to view the management interface used by the cloud service provider. Therefore, resellers and end users cannot obtain information regarding specification changes to various services used within the cloud service by viewing the management interface.

[0014] Due to the circumstances described above, resellers and end-users have traditionally been unable to obtain real-time information regarding specification changes for various services used within the cloud service. Consequently, end-user problems caused by unannounced specification changes were frequent. Furthermore, resellers, who provide technical support for cloud services to end-users, needed to address these problems caused by unannounced specification changes. Therefore, resellers, in particular, desired a technology that could detect real-time information regarding specification changes for various services used within the cloud service without relying on access to the management interface.

[0015] In contrast, visual regression testing techniques have been known for some time. Visual regression testing is a method that detects the differences in images before and after a change (i.e., the parts of the web page that have been changed) by comparing a screenshot image of the web page before the change with a screenshot image of the web page after the change. This makes it possible to detect information about changes in the specifications of various services used within a cloud service, for example, without having to view the management interface.

[0016] By the way, in order to perform visual regression testing automatically without human intervention, structural information about the structure of the website under test (for example, source code describing the website's structure) is necessary to write the source code for the visual regression tests. However, resellers (and end users) do not have access to structural information (for example, source code) about websites provided by cloud services. Furthermore, in large-scale websites such as those on public clouds, the website itself is configured as a microservice. Therefore, it can be difficult to detect the manipulable page elements among the page elements that make up a web page from the HTML data corresponding to the web page. For this reason, there is a need for technology that can automatically generate a list of web pages to be tested for visual regression testing without human intervention, even when the structure of a website provided by a cloud service is unknown (for example, when the source code describing the website's structure is unavailable).

[0017] In contrast, the information processing apparatus 100 according to the embodiment acquires path information regarding a path that specifies each of a plurality of document elements constituting HTML data corresponding to a target web page that is a web page to be processed, identifies a first page element that is an operable page element from among a plurality of page elements constituting the target web page, and executes 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. As a result, even when the structure of a website provided by a cloud service is unknown, for example, the information processing apparatus 100 can identify an operable page element from among a plurality of page elements constituting the target web page and execute an operation on the operable page element. Therefore, the information processing apparatus 100 can automatically generate a list of web pages to be subjected to visual regression testing.

[0018] [2. Configuration of Information Processing Apparatus] A configuration example of the information processing apparatus 100 according to the embodiment will be described with reference to FIG. 2. FIG. 2 is a diagram showing a configuration example of the information processing apparatus 100 according to the embodiment. The information processing apparatus 100 includes 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, or the like. The communication unit 110 is connected to various networks in a wired or wireless manner, and performs transmission and reception of information, for example, with other information processing apparatuses other than the information processing apparatus 100.

[0020] (Control Unit 120) The control unit 120 is a controller, and is implemented, for example, by a CPU (Central Processing Unit) or MPU (Micro Processing Unit) executing various programs stored in the memory device inside the information processing device 100 using RAM as the working area. Alternatively, the control unit 120 is a controller and can be implemented, for example, by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).

[0021] The control unit 120 has an acquisition unit 121, a generation unit 122, a identification unit 123, an execution unit 124, and a determination unit 125 as functional units, and may realize or execute the information processing operations described below. Note that the internal configuration of the control unit 120 is not limited to the configuration shown in Figure 2, and other configurations are also acceptable as long as they perform the information processing described later. Furthermore, each functional unit represents the 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 types of information. Specifically, the acquisition unit 121 acquires URL information indicating the URL (Uniform Resource Locator) corresponding to the target web page, which is the web page to be processed. In addition, the acquisition unit 121 acquires URL information indicating the URL corresponding to each of the web pages that make up the website to be processed.

[0023] Furthermore, the acquisition unit 121 acquires path information relating to paths that specify each of the multiple document elements that constitute the HTML data corresponding to the target web page, which is the web page to be processed. For example, the acquisition unit 121 acquires an XPATH (an example of path information) that specifies each of the tag elements (an example of document elements) that make up the HTML document from the HTML source (an example of HTML data) of the target web page. For example, the acquisition unit 121 uses Puppeteer to specify the tag elements that make up the HTML document using the regular expression "*" and acquires an XPATH that specifies each of the tag elements that make up the HTML document. When the acquisition unit 121 acquires path information, it generates reference list information relating to the reference list that includes the path information. When the acquisition unit 121 generates 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 web page.

[0024] (Generation unit 122) The generation unit 122 generates various types of information. Specifically, the generation unit 122 generates main list information, which is a list containing a list of URLs corresponding to web pages that are the target of the visual regression test. For example, if the acquisition unit 121 acquires URL information corresponding to a target web page, the generation unit 122 adds the URL information corresponding to the target web page to the main list. In this way, the generation unit 122 generates main list information by adding the URL information corresponding to the target web page to the main list. Similarly, the generation unit 122 generates main list information, which is a main list containing URL information indicating the URLs of multiple web pages to be processed, including the target web page. For example, if the acquisition unit 121 acquires URL information corresponding to each of the web pages that make up the website to be processed, the generation unit 122 adds the URL information corresponding to each of the web pages that make up the website to be processed to the main list. When the generation unit 122 generates main list information, it stores the generated main list information in the main list storage unit 131.

[0025] (Specific Section 123) The identification unit 123 identifies various types of information. Specifically, the identification unit 123 identifies operable page elements (hereinafter sometimes referred to as the first page element) from among multiple page elements that constitute the target web page. More specifically, if the determination unit 125 determines that there are operable page elements in the target web page, the identification unit 123 identifies the page elements that can be operated using the Tab key from within the target web page. For example, the identification unit 123 identifies areas containing text fields, text areas, radio buttons, checkboxes, pull-down menus, field-display type selection menus, sliders, toggle switches, submit buttons, reset buttons, or hyperlinks as operable page elements.

[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 obtains the XPATH and iframe that specify the tag element (hereinafter sometimes referred to as the first document element) corresponding to the operable page element. If the iframe for the tag element corresponding to the operable page element does not exist, the identification unit 123 obtains only the XPATH. When the identification unit 123 obtains the XPATH and iframe corresponding to the operable page element, it records the XPATH and 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 recording the XPATH and 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] (Execution Unit 124) The execution unit 124 performs various operations. Specifically, the execution unit 124 performs various operations performed on a web browser. More specifically, the execution unit 124 performs operations on the first page elements based on the first document elements (e.g., XPATH and iframe) and path information that correspond to the first page elements identified by the identification unit 123. For example, the execution unit 124 performs operations on the first page elements by referring to the operation list information stored in the operation list storage unit 133. For example, the execution unit 124 performs operations using the Tab key, clicks, or mouseovers. The execution unit 124 performs operations on the first page elements listed in the operation list one page at a time. When the execution unit 124 has performed an operation on a predetermined first page element, it reloads the URL listed in the operation list (returns to the default state) before performing the operation on the next first page element to prevent any lingering effects from the operation history.

[0028] Furthermore, based on the first information added to the main list, the acquisition unit 121 acquires post-operation path information relating to the paths that specify each of the multiple document elements that make up the post-operation HTML data, which is the HTML data corresponding to the target web page after the operation on the first page element has been performed. For example, the acquisition unit 121 acquires XPATH and iframe as post-operation path information.

[0029] (Judgment unit 125) The determination unit 125 determines whether or not there are operable page elements in the target web page. Specifically, the determination unit 125 determines whether or not there are areas in the target web page that include operable page elements such as text fields, text areas, radio buttons, checkboxes, pull-down menus, field-display type selection menus, sliders, toggle switches, submit buttons, reset buttons, or hyperlinks. 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 web page. If the determination unit 125 determines that a tag element corresponding to the operable page element exists in the HTML data corresponding to the target web page, it determines that there are operable page elements in the target web page. On the other hand, if the determination unit 125 determines that a document element corresponding to the operable page element does not exist in the HTML data corresponding to the target web page, it determines that there are no operable page elements in the target web page.

[0030] Furthermore, the determination unit 125 determines whether the web browser action detected after the execution of an operation on an operable page element performed by the execution unit 124 is a page transition. In this way, the determination unit 125 determines whether the web browser action detected after the execution of an operation on the first page element is a page transition.

[0031] If the determination unit 125 determines that the web browser's operation is not a page transition, the acquisition unit 121 acquires the XPATH and iframe corresponding to the operable page elements. If the acquisition unit 121 acquires the XPATH and iframe corresponding to the operable page elements, the generation unit 122 adds the XPATH and iframe corresponding to the operable page elements to the main list, associating them with the URL information of the target web page. In this way, if the determination unit 125 determines that the web browser's operation is not a page transition, the generation unit 122 adds first information to the main list, which associates first path information relating 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, if the determination unit 125 determines that the web browser's action is a page transition, the acquisition unit 121 acquires URL information indicating the URL of the destination web page. When the acquisition unit 121 acquires the URL information of the destination web page, the generation unit 122 adds the URL information corresponding to the destination web page to the main list. In this way, if the determination unit 125 determines that the web browser's action is a page transition, the generation unit 122 adds second URL information indicating the URL of the destination web page to which the user transitioned via the page transition to the main list.

[0033] Furthermore, the determination unit 125 determines whether or not there are other operable page elements within the target web page. If the determination unit 125 determines that there are no other operable page elements within the target web page, it resets the reference list information and the operation list information, and sets the destination web page as the target web page.

[0034] Furthermore, the determination unit 125 determines whether or not there are any operable page elements in the web page after the operation. If the determination unit 125 determines that there are no operable page elements in the web page after the operation, it terminates the process. On the other hand, if the determination unit 125 determines that there are operable page elements in the web page after the operation, the acquisition unit 121 obtains the XPATH and iframe corresponding to the operable page elements. If the acquisition unit 121 obtains the XPATH and iframe corresponding to the operable page elements, the generation unit 122 adds the XPATH and iframe corresponding to the operable page elements to the main list.

[0035] Furthermore, the identification unit 123 identifies a second page element, which is an operable page element, from among the multiple page elements that constitute the web page after the operation. More specifically, if the determination unit 125 determines that there is an operable page element in the web page after the operation, the identification unit 123 identifies the page element that can be operated using the Tab key from within the target web page. The execution unit 124 performs an operation on the second page element based on the second document element, which is a document element corresponding to the second page element identified by the identification unit 123, and the post-operation path information. For example, the execution unit 124 performs 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 web browser action detected after the operation on the second page element is a page transition. If the determination unit 125 determines that the web browser action is not a page transition, the generation unit 122 adds second information to the list, which associates the second path information related to the path specifying the second document element with the first URL information from the post-operation path information. On the other hand, if the determination unit 125 determines that the web browser action is a page transition, the generation unit 122 adds third URL information to the list, which indicates the URL of the destination web page to which the page transition occurred.

[0037] Figure 3 is a flowchart illustrating an example of information processing by the information processing device according to the embodiment. In Figure 3, the acquisition unit 121 acquires URL information corresponding to the target web page. When the acquisition unit 121 acquires URL information, the generation unit 122 records the URL information corresponding to the target web page in the main list (step S101).

[0038] Furthermore, the acquisition unit 121 acquires path information related to XPATH, which specifies each of the multiple document elements (e.g., tag elements) that constitute the HTML data corresponding to the target web page. When the acquisition unit 121 acquires path information, it generates reference list information related to the reference list that includes the path information (step S102).

[0039] The determination unit 125 determines, for example, whether or not there are any operable page elements in the target web page when reference list information has been generated by the acquisition unit 121 (step S103). If the determination unit 125 determines that there are no operable page elements in the target web page (step S103; No), it terminates the process.

[0040] On the other hand, if the determination unit 125 determines that there are operable page elements in the target web page (step S103; Yes), the identification unit 123 identifies the operable page elements from the target web page using the Tab key (step S104). Subsequently, if the identification unit 123 has identified the operable page elements, it obtains the XPATH and iframe that specify the tag elements corresponding to the operable page elements. Subsequently, if the identification unit 123 has obtained the XPATH and iframe corresponding to the operable page elements, it writes the XPATH and iframe corresponding to the operable page elements into 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 performs an operation on the operable page element (step S106).

[0042] The determination unit 125 determines whether the web browser's action detected after the execution of an operation on an operable page element performed by the execution unit 124 is a page transition (step S107). If the determination unit 125 determines that the web browser's action is a page transition (step S107; Yes), the acquisition unit 121 acquires URL information indicating the URL of the destination web page. If the acquisition unit 121 acquires the URL information of the destination web page, the generation unit 122 adds the URL information corresponding to the 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). If the determination unit 125 determines that there are no other operable page elements in the target web page (step S109; No), it resets the reference list information and the operation list information and sets the destination web page as the target web page (step S110). On the other hand, if the determination unit 125 determines that the destination webpage is the target webpage, the acquisition unit 121 executes the process in step S102. On the other hand, if the determination unit 125 determines that there are other operable page elements within the target webpage (step S109; Yes), the identification unit 123 executes the process in step S104.

[0043] If the acquisition unit 121 determines that the web browser's operation is not a page transition (step S107; No), it acquires the XPATH and iframe corresponding to the operable page element. If the acquisition unit 121 acquires the XPATH and iframe corresponding to the operable page element, the generation unit 122 adds the XPATH and iframe corresponding to the operable page element to the main list (step S111). In this way, the generation unit 122 generates main list information related to the main list.

[0044] Furthermore, the acquisition unit 121 acquires post-operation path information relating to the 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 operations 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 are any operable page elements in the web page after the operation (step S113). If the determination unit 125 determines that there are no operable page elements in the web page after the operation (step S113; No), it terminates the process. On the other hand, if the determination unit 125 determines that there are operable page elements in the web page after the operation (step S113; Yes), the acquisition unit 121 acquires the XPATH and iframe corresponding to the operable page elements. If the acquisition unit 121 acquires the XPATH and iframe corresponding to the operable page elements, the generation unit 122 adds the XPATH and iframe corresponding to the operable page elements to the main list (step S111).

[0046] (Storage unit 130) The memory unit 130 is implemented by, for example, semiconductor memory elements such as RAM (Random Access Memory) and flash memory, or by storage devices such as hard disks and optical discs.

[0047] As shown in Figure 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. These configurations will be described in detail below.

[0048] (Main list memory section 131) The main list storage unit 131 stores information about the web pages that are the subject of the visual regression test (hereinafter referred to as "target web pages"). Figure 4 is a diagram showing an example of the information stored in the main list storage unit according to this embodiment. In the example shown in Figure 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 the path that specifies the tag elements that make up the HTML data corresponding to the target webpage. "iframe" indicates an inline frame, which is one of the tag elements that make up the HTML data corresponding to the target webpage.

[0050] Furthermore, the information stored in the main list storage unit 131 is not limited to information related to the items "URL," "XPATH," and "iframe," but may also store other information related to the target web page. For example, in addition to the items "URL," "XPATH," and "iframe," the main list storage unit 131 may store the title of the target web page and information that can identify the target web page, associated with the URL of the target web page.

[0051] (Reference list storage unit 132) The reference list storage unit 132 stores information about paths that specify each page element that makes up the target web page. Figure 5 shows an example of the information stored in the reference list storage unit according to this embodiment. In the example shown in Figure 5, the reference list storage unit 132 stores information related to an item called "XPATH".

[0052] "XPATH" refers to the XPATH that specifies each page element that makes up 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 that make up the target web page. Figure 6 is a diagram showing an example of the information stored in the operation list storage unit according to the embodiment. In the example shown in Figure 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 web page. "XPATH" indicates the XPATH that specifies the tag element corresponding to the manipulable page element among the tag elements that make up the HTML data corresponding to the target web page. "iframe" indicates the inline frame corresponding to the manipulable page element among the tag elements that make up the HTML data corresponding to the target web page.

[0055] Furthermore, the information stored in the operation list storage unit 133 is not limited to information related to the items "URL," "XPATH," and "iframe," but may also store information related to other page elements that make up the target web page and are operable.

[0056] Furthermore, the execution unit 124 performs 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 sometimes referred to as "previous day images") corresponding to each of the target web pages listed in the main list on the day before a predetermined date. For example, the execution unit 124 acquires a screenshot (also called a full screenshot) corresponding to the entire target web page (full screen) as the previous day image. Also, when the execution unit 124 acquires a previous day image, it associates the information indicating the acquisition date of the previous day image with the acquired previous day image and saves it in the storage unit 130. Furthermore, the execution unit 124 refers to the main list information and acquires images (hereinafter sometimes referred to as "today's images") corresponding to each of the target web pages listed in the main list on a predetermined date. For example, the execution unit 124 acquires a screenshot (also called a full screenshot) corresponding to the entire target web page (full screen) as the today's image. Furthermore, if the execution unit 124 acquires an image on the current day, it associates information indicating the date the image was acquired with the acquired image on the current day and stores it in the storage unit 130.

[0057] For example, the execution unit 124 accesses multiple terminals with different IP addresses (serverless) in a distributed manner and fixes the display size of the target web page. Subsequently, after displaying the target web page, the execution unit 124 scrolls the target web page to the end once (i.e., after images and page content have finished loading) and then takes a screenshot (also called a full screenshot) of the entire target web page (full screen). In this way, the information processing device 100 can eliminate errors caused by page breaks in a single-page screenshot, even when the vertical size differs for each target web page, thus enabling image comparison and detection of difference information on a function-by-function basis. Furthermore, if the target web page contains unimportant page elements such as advertisements, banners, headers, or top bars, the execution unit 124 hides these page elements before taking a screenshot (also called a full screenshot) of the entire target web page (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 the target web pages listed in the main list with the current day's image corresponding to the previous day's image to detect the difference information between the previous day's image and the current day's image. For example, the execution unit 124 compares a processed previous day's image, which has been intentionally blurred using Gaussian smoothing, with a processed current day's image, which has been intentionally blurred using Gaussian smoothing, to detect the difference information between the processed previous day's image and the processed current day's image. This allows the information processing device 100 to eliminate noise in the image and focus on the information that should be detected as difference information to detect the difference information. For example, by using Gaussian smoothing, the information processing device 100 can prevent cases where the displayed text is the same, but the font type differs depending on the viewing environment, which would be detected as a difference during image comparison processing. In addition, 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, a specification 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 the target web page, which is the web page to be processed. The specification unit 123 identifies a first page element, which is an operable page element, from among the plurality of page elements constituting the target web page. The execution unit 124 performs an operation on the first page element based on the first document element, which is the document element corresponding to the first page element, and the path information.

[0060] As a result, the information processing device 100 can identify manipulable page elements from among multiple page elements constituting the target web page, even if the structure of a website provided by a cloud service is unknown, and perform operations on those manipulable page elements. Therefore, the information processing device 100 can automatically generate a list of web pages to be subjected to visual regression testing. Furthermore, because the information processing device 100 can automatically generate a list of web pages to be subjected to visual regression testing, it can contribute to achieving Sustainable Development Goal (SDG) 9, "Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation."

[0061] Furthermore, the information processing device 100 according to the embodiment further includes a generation unit 122 and a determination unit 125. The generation unit 122 generates a list containing URL information indicating the URLs of a plurality of web pages to be processed, including the target web page. The determination unit 125 determines whether the web browser action detected after the execution of an operation on the first page element is a page transition. If the determination unit 125 determines that the web browser action is not a page transition, the generation unit 122 adds first information to the list, which associates first path information relating to the path specifying the first document element with first URL information indicating the URL of the target web page. If the determination unit 125 determines that the web browser action is a page transition, the generation unit 122 adds second URL information indicating the URL of the destination web page to which the page transition occurred to the list.

[0062] This allows the information processing device 100 to automatically generate a list of web pages to be subjected to visual regression testing, even if, for example, the structure of a website provided by a cloud service is unknown.

[0063] Furthermore, the acquisition unit 121 acquires post-operation path information, which specifies the paths of each of the multiple document elements that make up the post-operation HTML data, which is the HTML data corresponding to the target web page after an operation has been performed on the first page element, based on the first information added to the list. The identification unit 123 identifies the second page element, which is an operable page element, from among the multiple page elements that make up the post-operation web page. The execution unit 124 performs an operation on the second page element based on the second document element, which is the document element corresponding to the second page element, and the post-operation path information.

[0064] As a result, the information processing device 100 can, for example, identify operable page elements from among multiple page elements that make up the web page after operation, and perform operations on the operable page elements, even if the structure of the website provided by the cloud service is unknown.

[0065] Furthermore, the determination unit 125 determines whether the web browser's action detected after the operation on the second page element is a page transition. If the determination unit 125 determines that the web browser's action is not a page transition, the generation unit 122 adds second information to the list, which associates the second path information related to the path specifying the second document element with the first URL information from the post-operation path information. If the determination unit 125 determines that the web browser's action is a page transition, the generation unit 122 adds third URL information to the list, which indicates the URL of the destination web page to which the page transition occurred.

[0066] As a result, the information processing device 100 can 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, depending on whether or not a page transition occurs as a result of an operation on an operable page element.

[0067] Additionally, interactive page elements include areas containing text fields, text areas, radio buttons, checkboxes, dropdown menus, field-display selection menus, sliders, toggle switches, submit buttons, reset buttons, or hyperlinks.

[0068] As a result, the information processing device 100 can perform operations on areas including text fields, text areas, radio buttons, checkboxes, pull-down menus, field-display type selection menus, sliders, toggle switches, submit buttons, reset buttons, or hyperlinks, even if the structure of a website provided by a cloud service is unknown.

[0069] [4. Hardware Configuration] Furthermore, the information processing device 100 according to the above-described embodiment is realized by a computer 1000 having a configuration such as that shown in Figure 7. Figure 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, RAM 1200, ROM 1300, HDD 1400, communication interface (I / F) 1500, input / output interface (I / F) 1600, and media interface (I / F) 1700.

[0070] The CPU 1100 operates based on programs stored in the ROM 1300 or HDD 1400, controlling various components. The ROM 1300 stores boot programs executed by the CPU 1100 when the computer 1000 starts up, as well as programs that depend on the computer 1000's hardware.

[0071] The HDD1400 stores programs executed by the CPU1100, as well as data used by such programs. The communication interface1500 receives data from other devices via a predetermined communication network and sends it to the CPU1100, and transmits data generated by the CPU1100 to other devices via the predetermined communication network.

[0072] The CPU 1100 controls output devices such as displays and printers, and input devices such as keyboards and mice, via the input / output interface 1600. The CPU 1100 acquires data from input devices via the input / output interface 1600. The CPU 1100 also outputs the generated data to 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 PD (Phase Change Rewritable Disk), 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 an information processing device 100 according to the embodiment, the CPU 1100 of the computer 1000 realizes the functions of the control unit 120 by executing a program loaded on the RAM 1200. The CPU 1100 of the computer 1000 reads and executes these programs from the recording medium 1800, but as another example, these programs may be obtained from other devices via a predetermined communication network.

[0075] Although some embodiments of the present invention have been described in detail above with reference to the drawings, these are illustrative examples, and the present invention can be implemented in various other forms with modifications and improvements based on the knowledge of those skilled in the art, starting with the embodiments described in the disclosure section of the invention.

[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 known methods. In addition, the processing procedures, specific names, and information including various data and parameters shown in the above document and drawings can be changed at will unless otherwise specified. For example, the various information shown in each figure is not limited to the information shown.

[0077] Furthermore, the components of each illustrated device are functionally conceptual and do not necessarily need to be physically configured as shown. In other words, the specific forms of distribution and integration of each device are not limited to those shown, and all or part of them can be functionally or physically distributed and integrated in any unit according to various loads and usage conditions.

[0078] Furthermore, the embodiments and modifications described above can be combined as appropriate, provided that the processing content is not inconsistent. [Explanation of Symbols]

[0079] 100 Information Processing Devices 110 Communications Department 120 Control Unit 121 Acquisition Department 122 Generation part 123 Specific part 124 Execution Unit 125 Judgment section 130 Storage section 131 Main List Memory 132 Reference List Storage 133 Operation List Storage Unit

Claims

1. A procedure for obtaining path information regarding the paths that specify each of the multiple document elements that make up the HTML data corresponding to the target web page to be processed, A procedure for identifying a first page element, which is an operable page element, from among multiple page elements that constitute the target web page, An execution procedure for performing an operation on the first page element based on the first document element which is a document element corresponding to the first page element and the path information, A determination procedure for determining whether the web browser action detected after performing an operation on the first page element is a page transition, If the determination procedure determines that the web browser's operation is not a page transition, a generation procedure is performed to generate a list containing first information that associates first path information relating to the path specifying the first document element with first URL information indicating the URL of the target web page; if the determination procedure determines that the web browser's operation is a page transition, a generation procedure is performed to generate a list containing second URL information indicating the URL of the destination web page to which the page transition occurred. An information processing program that causes a computer to execute something.

2. A procedure for obtaining path information relating to paths that specify each of a plurality of document elements that constitute HTML data corresponding to a target web page which is the web page to be processed, A procedure for identifying a first page element, which is an operable page element, from among multiple page elements that constitute the target web page, An execution procedure for performing an operation on the first page element based on the first document element which is a document element corresponding to the first page element and the path information, A determination procedure for determining whether the web browser action detected after performing an operation on the first page element is a page transition, If the web browser operation detected after the execution of the operation on the first page element by the execution procedure is determined to be a page transition by the determination procedure, a list is generated that includes information about the destination web page to which the user transitioned by the page transition was performed; if the determination procedure is determined not to be a page transition, a list is generated that includes information relating the path information to the target web page. An information processing program that causes a computer to execute something.

3. The aforementioned generation procedure is: If the determination procedure determines that the web browser's operation is not a page transition, then the first information, which associates the first path information relating to the path specifying the first document element with the first URL information indicating the URL of the target web page, is added to the list. If the determination procedure determines that the web browser's operation is a page transition, a second URL information indicating the URL of the destination web page to which the page transition occurred is added to the list. The information processing program according to claim 2.

4. The acquisition procedure described above is: Based on the first information added to the list, after performing an operation on the first page element, obtain post-operation path information relating to the paths that specify each of the multiple document elements that constitute the post-operation HTML data, which is HTML data corresponding to the target web page, which is the post-operation web page. The aforementioned identification procedure is, After the operation, a second page element, which is an operable page element, is identified from among the multiple page elements that constitute the web page. The execution procedure described above is: Based on the second document element, which is a document element corresponding to the second page element, and the post-operation path information, an operation is performed on the second page element. The information processing program according to claim 1 or 3.

5. The aforementioned determination procedure is: After performing an operation on the second page element, it is determined whether the web browser's action detected is a page transition or not. The aforementioned generation procedure is: If the determination procedure determines that the web browser's operation is not a page transition, the second information, which associates the second path information relating to the path specifying the second document element with the first URL information from the post-operation path information, is added to the list. If the determination procedure determines that the web browser's action is a page transition, a third URL information indicating the URL of the destination web page to which the page transition occurred is added to the list. The information processing program according to claim 4.

6. The aforementioned operable page elements are areas that include text fields, text areas, radio buttons, checkboxes, pull-down menus, field-display type selection menus, sliders, toggle switches, submit buttons, reset buttons, or hyperlinks. The information processing program according to claim 1 or 2.

7. An acquisition unit that acquires path information regarding the paths that specify each of the multiple document elements that make up the HTML data corresponding to the target web page, which is the web page to be processed. A selection unit identifies a first page element, which is an operable page element, from among the multiple page elements that constitute the target web page, An execution unit that performs operations on the first page element based on the first document element, which is a document element corresponding to the first page element, and the path information, A determination unit that determines whether the web browser action detected after the execution of an operation on the first page element is a page transition, If the determination unit determines that the web browser's operation is not a page transition, the generation unit generates a list containing first information that associates first path information relating to the path specifying the first document element with first URL information indicating the URL of the target web page. If the determination unit determines that the web browser's operation is a page transition, the generation unit generates a list containing second URL information indicating the URL of the destination web page to which the page transition occurred. An information processing device equipped with the following features.

8. An acquisition unit that acquires path information relating to paths that specify each of a plurality of document elements that constitute HTML data corresponding to a target web page which is the web page to be processed, A selection unit identifies a first page element, which is an operable page element, from among the multiple page elements that constitute the target web page, An execution unit that performs operations on the first page element based on the first document element, which is a document element corresponding to the first page element, and the path information, A determination unit that determines whether the web browser action detected after the execution of an operation on the first page element is a page transition, If the execution unit determines that the web browser operation detected after the execution unit has performed an operation on the first page element is a page transition, the generation unit generates a list that includes information about the destination web page to which the user transitioned. If the determination unit determines that the user transition is not a page transition, the generation unit generates a list that includes information relating the path information to the target web page. An information processing device equipped with the following features.

9. An information processing method implemented by a program executed by an information processing device, The process involves obtaining path information related to the paths that specify each of the multiple document elements that make up the HTML data corresponding to the target web page, which is the web page to be processed. A process of identifying a first page element, which is an operable page element, from among the multiple page elements that constitute the target web page, An execution step of performing an operation on the first page element based on the first document element which is a document element corresponding to the first page element and the path information, A determination step of determining whether the web browser action detected after the execution of an operation on the first page element is a page transition, If the determination step determines that the web browser's operation is not a page transition, a generation step is made to generate a list containing first information that associates first path information relating to the path specifying the first document element with first URL information indicating the URL of the target web page; if the determination step determines that the web browser's operation is a page transition, a generation step is made to generate a list containing second URL information indicating the URL of the destination web page to which the page transition occurred. Information processing methods including

10. An information processing method implemented by a program executed by an information processing device, The process involves obtaining path information related to the paths that specify each of the multiple document elements that make up the HTML data corresponding to the target web page, which is the web page to be processed. A process of identifying a first page element, which is an operable page element, from among the multiple page elements that constitute the target web page, An execution step of performing an operation on the first page element based on the first document element which is a document element corresponding to the first page element and the path information, A determination step of determining whether the web browser action detected after the execution of an operation on the first page element is a page transition, If the web browser operation detected after the execution of the operation on the first page element by the execution step is determined to be a page transition by the determination step, a list is generated that includes information about the destination web page to which the user transitioned by the page transition was performed. If the determination step determines that the user transition is not a page transition, a generation step is generated that includes information relating the path information to the target web page. Information processing methods including

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 distribution system and information distribution program

    JP2013069159A

  • Information acquisition program, information acquisition method, and information acquisition device

    JP2019144823A