US10536363B2 - Synthetic testing of web applications using instrumented monitoring agents - Google Patents
Synthetic testing of web applications using instrumented monitoring agents Download PDFInfo
- Publication number
- US10536363B2 US10536363B2 US15/157,883 US201615157883A US10536363B2 US 10536363 B2 US10536363 B2 US 10536363B2 US 201615157883 A US201615157883 A US 201615157883A US 10536363 B2 US10536363 B2 US 10536363B2
- Authority
- US
- United States
- Prior art keywords
- web page
- agent
- given web
- monitoring agent
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 111
- 238000012360 testing method Methods 0.000 title claims abstract description 91
- 238000013515 script Methods 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims description 35
- 230000009471 action Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 claims 39
- 238000002347 injection Methods 0.000 claims 1
- 239000007924 injection Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0253—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using browsers or web-pages for accessing management information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H04L67/22—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Definitions
- the present disclosure relates to synthetic testing of web applications using monitoring agents instrumented in web content.
- real user tracking and monitoring of web applications is accomplished by embedding monitoring agents into web pages.
- the monitoring agent captures performance metrics related to the web page and sends data back to a server for analysis and reporting.
- synthetic testing tools rely on customization of a user's web browser to capture performance metrics related to web pages. Because the collection mechanisms differ between real user monitoring and synthetic testing, the data collected differs and cannot be easily compared.
- a computer-implemented system that enables automated testing of web applications operating within a web browser.
- the computer-implemented system includes a playback agent, a monitoring agent, and a wait agent.
- the playback engine is configured to receive a test script for testing a given web page and initiates loading of the given web page by a web browser, where the test script includes a plurality of actions for testing the given web page and is defined in accordance with a scripting language.
- the playback engine is implemented as a browser extension of the web browser and executed by a processor of a host computing device.
- the monitoring agent has a tag embedded into a document object model of the given web page and is a script defined in accordance with the scripting language.
- the monitoring agent determines a performance metric for the given web page.
- the wait agent has a tag embedded into the markup language of the given web page and, during building of the document object model for the given web page, operates to inject the tag for the monitoring agent into the document object model for the given web page.
- the wait agent is also a script defined in accordance with the scripting language and is executed by the processor of the host computing device.
- FIG. 1 depicts an example performance monitoring system
- FIG. 2 is a block diagram illustrating a process for injecting a synthetic monitoring agent into a web page under test
- FIG. 3 is a diagram further illustrating the process for injecting the synthetic monitoring agent
- FIG. 4 is a block diagram depicting an example embodiment for a wait agent
- FIG. 5 is a block diagram illustrating how information about the synthetic testing process is communicated to a monitoring agent
- FIG. 6 is a flowchart for steps taken by an example playback engine.
- FIG. 7 is a flowchart for steps taken by an example monitoring agent.
- FIG. 1 depicts an example performance monitoring system 10 .
- the performance monitoring system 10 supports real time user monitoring as well as synthetic testing and monitoring.
- a real user monitoring agent 12 is injected into the web pages being accessed by a user. While a user navigates an instrumented web page, the monitoring agent 12 is executed on the host computing device 13 .
- the monitoring agent 12 operates to determine performance metrics for the web page during the user interaction.
- the performance metrics may be tagged with correlation data that enables identification of transaction executions corresponding to the metrics.
- the tagged performance metrics are in turn sent via event messages to an event correlator 18 , where the event correlator resides on a monitoring node 17 located remotely via a network from the host computing device 13 . Further information regarding such real user monitoring agents may be found in U.S. Pat. No. 8,234,631 which is incorporated by reference in its entirety herein.
- Synthetic testing involves creation and execution of a test script.
- the test script is created as a user navigates through a web application. During navigation, a recorder captures each of the actions taken by the user and stores the captured sequence of actions as a test script for later testing.
- the test script 6 is executed by a playback engine 4 .
- a synthetic monitoring agent 14 is injected into the content of the web page under test by the playback engine 4 as will be further described below.
- the synthetic monitoring agent 14 determines performance metrics for the web page. Likewise, performance metrics are tagged with correlation data and sent via event messages to the event correlator 18 .
- the event correlator 18 From the tagged performance metrics, the event correlator 18 creates end-to-end transaction data describing execution and performance of individual transactions.
- An exemplary correlation process is further described in U.S. Pat. No. 8,234,631 which is incorporated by reference in its entirety herein.
- FIGS. 2 and 3 further describe the process for injecting a synthetic monitoring agent into a web page under test.
- a playback agent 4 executes the actions set forth in the test script.
- the playback agent 4 is implemented as a browser extension of the web page under test.
- the playback engine 4 interacts with a web browser 2 on the host computing device to load the web page.
- the network component of the web browser begins downloading the HTML content at 21 from the web server and the render engine of the web browser starts to build the document object model (DOM) at 22 .
- An injector agent 23 is notified at 24 by the render engine that the DOM building has begun.
- the injector agent 23 can receive such notification for example, by registering with an event listener of the web page.
- the injector agent 23 is implemented as JavaScript files that run in the context of the web page under test (e.g., a content script in a Chrome web browser). Techniques for starting execution of Javascript files which comprise the injector agent by a browser extension, such as the playback engine, during the building of the document object model are readily known in the art.
- the injector agent 23 pauses execution of the other components (e.g., Javascripts) embedded in the web page under test as indicated at 25 and injects a script tag for the monitoring agent into the DOM as indicated at 26 .
- the render engine builds the DOM for the web page under test as indicated at 27 .
- the script tag for the monitoring agent has been injected into the DOM (along with a few other configuration steps)
- execution resumes for the other components embedded in the web page.
- the monitoring agent is ensured to be loaded and executed prior to the remaining components found in the web page under test. It is understood that only the relevant steps of this feature are discussed in relation to FIG. 2 but that other processor instructions may be needed to control and manage the synthetic testing process.
- the playback engine 4 executes the actions set forth in the test script 6 .
- the playback engine 4 interacts with web browser to begin loading the web page.
- the web browser first retrieves the HTML content for the web page under test from the web server at 31 and begins building the document object model for the web page at 32 .
- the web browser also notifies an injector agent that the DOM building has begun.
- the injector agent injects a wrapper application programming interface (API) at 34 into the DOM as well.
- API application programming interface
- the injector agent injects a script tag for a wait agent at 51 as the first script tag on the web page.
- the wait agent is a Javascript that is executed immediately after the wait script tag has been loaded, for example using an onLoad event. Other techniques for initiating execution of the wait agent are also contemplated by this disclosure.
- the wait agent checks at 53 for a script tag for a real user monitoring agent.
- Pseudocode for checking for a script tag in the example embodiment is as follows.
- the wait agent may elect to replace the real user agent with a synthetic version of the corresponding monitoring agent before injecting a script tag for the wrapper API.
- the synthetic version of the monitoring agent has substantially the same functionality as the corresponding real user monitoring agent with some additional functions.
- a real user monitoring agent cannot capture a statusCode for an individual http object because of limitations in the W3C metric specification.
- the synthetic monitoring agent can be configured to capture a statusCode for an individual http object and send such information to the correlation engine.
- Other examples of supplemental data that may be captured by the synthetic monitoring agent are contemplated by this disclosure. Otherwise, the synthetic monitoring agent is configured to capture the same performance metrics as the corresponding real user monitoring agent.
- the wait agent determines at 55 whether the building of the DOM is ongoing or otherwise timed out.
- Another script tag for the wait agent is injected at 56 into the document object model in response to a determination that the building of the DOM is ongoing. In this way, script execution is paused while the wait agent waits to see if the web page under test is instrumented with a real user monitoring agent. This process is repeated until either a real user monitoring agent is discovered or the building of the DOM is compete or otherwise timed out.
- the wait agent will inject a script tag for a synthetic monitoring agent into the document object model of the web page under test as indicated at 57 . Additionally, the wait agent will inject a script tag for the wrapper API in the document object model of the web page under test as indicated at 44 .
- the content of the web page under test has been instrumented with a monitoring agent that can capture performance metrics during execution of a test script by the playback engine.
- the browser continues at 35 to build the DOM until it is completely loaded.
- the web page under test may already be instrumented with a real user monitoring agent.
- the browser Upon detecting a script tag for a real user monitoring agent, the browser starts an HTTP traffic listener at 36 to monitor for the loading of the real user monitoring agent.
- a real user monitoring agent can be identified by a unique string in the tag. Pseudocode for checking the URL to determine if it is a request for a real user monitoring agent is as follows.
- the HTTP traffic listener is configured to redirect the request at 37 to a synthetic monitoring agent in the playback engine.
- the synthetic monitoring agent can be loaded in place of the real user monitoring agent instrumented in the web page under test.
- the web browser notifies the playback engine 4 as indicated at 41 .
- the playback engine 4 communicates information about the synthetic testing process to the synthetic monitoring agent for subsequent use. Because messages cannot be sent directly from a browser extension, such as the playback engine, to the web page, the wrapper API is used as an intermediary to deliver the information to the monitoring agent.
- FIG. 5 further illustrates how information about the synthetic testing process is communicated to the synthetic monitoring agent.
- Information is first passed at 61 from the playback engine 4 to a content script 60 (i.e., JavaScript files that run in the context of web pages).
- Identifying information for the synthetic testing process may include but is not limited to a script identifier, name for the current script action and a sequence number of the current script action. Such information may be passed, for example via messages supported by the web browser.
- the content script 60 can then pass the information at 62 to the web page using the shared DOM. More specifically, the wrapper API 64 can listen for and receive particular DOM events. When the content script updates the DOM with the identifying information for the synthetic testing process, the wrapper API 64 is notified. The wrapper API 64 in turn pushes the identifying information to the synthetic monitoring agent. In the example embodiment, the wrapper API 64 and the synthetic monitoring agent 14 are in the same web page. Hence, the wrapper API 64 can access a method exposed by the synthetic monitoring agent 14 to update a data store which stores the identifying information for the synthetic testing process.
- the synthetic monitoring agent 14 appends the identifying information for the synthetic testing process to any of the event messages sent to the correlation engine 18 .
- the synthetic monitoring agent 14 maintains a data store (e.g., array) of data which may be appended to an outgoing event message.
- the synthetic monitoring agent 14 Upon receipt of the identifying information from the wrapper API, the synthetic monitoring agent 14 updates the corresponding information in the data store. In this way, the most current identifying information for the synthetic testing process is maintained and accessible to be appended to an outgoing event message.
- playback engine 4 is configured to communicate information about the synthetic testing process to the synthetic monitoring agent through the execution of the test script.
- the playback engine retrieves a given action from a test script as indicated at 71 and in turn executes the given action as indicated at 72 .
- identifying information for the test script and the given action are sent at 73 to the content script.
- Such information is passed along to the synthetic monitoring agent in the same manner as described in FIG. 5 .
- the playback engine can then check for another action in the test script and repeat the process. Playback ends once all of the actions have been retrieved and executed by the playback engine. It is understood that only the relevant steps are discussed in relation to FIG. 6 but that other processor instructions may be needed to implement the playback engine.
- the synthetic monitoring agent will monitor performance of the web page under test as seen in FIG. 7 . That is, the synthetic monitoring agent will monitor and determine performance metrics and other data associated with the execution of the web page. Example performance metrics include but are not limited to DNS lookup time, number of bytes, action duration, etc.
- the synthetic monitoring agent 14 retrieves identifying information for the synthetic testing process from a data store maintained by the synthetic monitoring agent 14 . The data store is updated and maintained via the wrapper API 64 as described above in relation to FIG. 5 . The identifying information for the synthetic testing process is then appended to an outgoing event message. An event message is sent by the synthetic monitoring agent at 83 to the correlation engine 18 .
- the techniques described herein may be implemented by one or more computer programs executed by one or more processors.
- the computer programs include processor-executable instructions that are stored on a non-transitory tangible computer readable medium.
- the computer programs may also include stored data.
- Non-limiting examples of the non-transitory tangible computer readable medium are nonvolatile memory, magnetic storage, and optical storage.
- the present disclosure also relates to an apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on a computer readable medium that can be accessed by the computer.
- a computer program may be stored in a tangible computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
- the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
| function isRumTag(scriptTag) { | ||
| if (scriptTag && scriptTag.getAttribute(’data-dtconfig’)) { | ||
| return true; | ||
| } | ||
| //ruxit-jsagent bootstrap | ||
| if (scriptTag && scriptTag.getAttribute(’src’) && | ||
| isRuxitJsagentBootstrap(scriptTag.getAttribute(’src’))) { | ||
| return true; | ||
| } | ||
| return false; | ||
| } | ||
| function isRuxitJsagentBootstrap(scriptSrc) { | ||
| if (!scriptSrc) { return false; } | ||
| var ruxitJsBootStrapPattern = | ||
| /{circumflex over ( )}(http:|https:)?\/\/js\.[{circumflex over ( )}\/]*\/jstag\/[{circumflex over ( )}\/]*\/[{circumflex over ( )}\/]*\/[{circumflex over ( )}\/]*_bs.js$/ig; | ||
| return ruxitJsBootStrapPattern.test(scriptSrc); | ||
| } | ||
In some instances, the content for the web page under test may already be instrumented with real user monitoring agent, for example if the content provider is a current customer. In these instances, there is no need to inject a synthetic monitoring agent. The wait agent concludes by injecting a script tag at 54 for the wrapper API in the document object model.
| / ** example urls injected by bootstrap module | ||
| * | ||
| https://js.ruxit.com/jstag/145e12d594f/ | ||
| ruxitagentjs_crgix_10076150724090829.js | ||
| * | ||
| https://js.ruxitlabs.com/jstag/1468ae7109d/ | ||
| ruxitagent_rg_10078150818123720.js | ||
| * | ||
| http://js.ruxitlabs.com/jstag/1468ae7109d/ | ||
| ruxitagent_crgi3x_1007815081418011 | ||
| 6.js | ||
| * | ||
| * @param url | ||
| * @returns {boolean} | ||
| */ | ||
| function isRuxitTagUrl(url) { | ||
| var rumTagPattern = /dtagent[{circumflex over ( )}?]*_[{circumflex over ( )}?]*_[{circumflex over ( )}?]*.js/ig; | ||
| var ruxitTagPattern = /ruxitagentjs[{circumflex over ( )}?]*_[{circumflex over ( )}?]*_[{circumflex over ( )}?]*.js/ig; | ||
| var ruxitTagExtPattern = /ruxitagent[{circumflex over ( )}?]*_[{circumflex over ( )}?]*_[{circumflex over ( )}?]*.js/ig; | ||
| var dtTagDebugPattern = /dtagentdbg[{circumflex over ( )}?]*_[{circumflex over ( )}?]*_[{circumflex over ( )}?]*.js/ig; | ||
| return rumTagPattern.test(url) || ruxitTagPattern.test(url) || | ||
| dtTagDebugPattern.test(url) || ruxitTagExtPattern.test(url); | ||
| } | ||
Downloading of requests are then intercepted by the HTTP traffic listener. For a downloading request of a real user monitoring agent, the HTTP traffic listener is configured to redirect the request at 37 to a synthetic monitoring agent in the playback engine. In this way, the synthetic monitoring agent can be loaded in place of the real user monitoring agent instrumented in the web page under test.
Claims (13)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/157,883 US10536363B2 (en) | 2016-05-18 | 2016-05-18 | Synthetic testing of web applications using instrumented monitoring agents |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/157,883 US10536363B2 (en) | 2016-05-18 | 2016-05-18 | Synthetic testing of web applications using instrumented monitoring agents |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20170339042A1 US20170339042A1 (en) | 2017-11-23 |
| US10536363B2 true US10536363B2 (en) | 2020-01-14 |
Family
ID=60330562
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/157,883 Active 2037-10-11 US10536363B2 (en) | 2016-05-18 | 2016-05-18 | Synthetic testing of web applications using instrumented monitoring agents |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US10536363B2 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11611497B1 (en) * | 2021-10-05 | 2023-03-21 | Cisco Technology, Inc. | Synthetic web application monitoring based on user navigation patterns |
| US11765165B2 (en) | 2020-09-22 | 2023-09-19 | Bank Of America Corporation | Web-browser extension analysis and enhancement |
| US11940905B2 (en) | 2021-09-15 | 2024-03-26 | UiPath, Inc. | System and computer-implemented method for testing an application using an automation bot |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10489281B2 (en) | 2016-08-26 | 2019-11-26 | International Business Machines Corporation | Application monitoring with a decoupled monitoring tool |
| JP6782275B2 (en) * | 2018-04-10 | 2020-11-11 | 株式会社日立製作所 | Data catalog automatic generation system and its automatic generation method |
| US10832010B2 (en) * | 2018-06-05 | 2020-11-10 | International Business Machines Corporation | Training of conversational agent using natural language |
| CN108989154A (en) * | 2018-08-30 | 2018-12-11 | 郑州云海信息技术有限公司 | A kind of PIM platform monitoring method, system and electronic equipment and storage medium |
| CN109656806A (en) * | 2018-10-29 | 2019-04-19 | 口碑(上海)信息技术有限公司 | A kind of the playback test method and device of interface data |
| CN113595811B (en) * | 2021-06-25 | 2023-03-28 | 青岛海尔科技有限公司 | Equipment performance testing method and device, storage medium and electronic device |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5218605A (en) * | 1990-01-31 | 1993-06-08 | Hewlett-Packard Company | Software modules for testing computer hardware and software |
| US20110131450A1 (en) * | 2009-11-30 | 2011-06-02 | Microsoft Corporation | Using synchronized event types for testing an application |
| US8065410B1 (en) * | 2004-03-31 | 2011-11-22 | Compuware Corporation | Methods and apparatus for collecting performance metrics from a web site |
| US20120226940A1 (en) * | 2011-01-18 | 2012-09-06 | Robert Lin | Self-Expanding Test Automation Method |
| US20140089904A1 (en) * | 2012-09-26 | 2014-03-27 | Compuware Corporation | Technique for simulating an orientation change event in a test environment |
| US8826084B1 (en) * | 2011-09-07 | 2014-09-02 | Innovative Defense Technologies, LLC | Method and system for implementing automated test and retest procedures |
| US20150186249A1 (en) * | 2007-06-05 | 2015-07-02 | Edward F. Miller | Testing web pages using a document object model |
| US9703693B1 (en) * | 2017-03-08 | 2017-07-11 | Fmr Llc | Regression testing system for software applications |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1308015A2 (en) * | 2000-07-24 | 2003-05-07 | Trendium, Inc. | Network models, methods, and computer program products for managing a service independent of the underlying network technology |
-
2016
- 2016-05-18 US US15/157,883 patent/US10536363B2/en active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5218605A (en) * | 1990-01-31 | 1993-06-08 | Hewlett-Packard Company | Software modules for testing computer hardware and software |
| US8065410B1 (en) * | 2004-03-31 | 2011-11-22 | Compuware Corporation | Methods and apparatus for collecting performance metrics from a web site |
| US20150186249A1 (en) * | 2007-06-05 | 2015-07-02 | Edward F. Miller | Testing web pages using a document object model |
| US20110131450A1 (en) * | 2009-11-30 | 2011-06-02 | Microsoft Corporation | Using synchronized event types for testing an application |
| US20120226940A1 (en) * | 2011-01-18 | 2012-09-06 | Robert Lin | Self-Expanding Test Automation Method |
| US8826084B1 (en) * | 2011-09-07 | 2014-09-02 | Innovative Defense Technologies, LLC | Method and system for implementing automated test and retest procedures |
| US20140089904A1 (en) * | 2012-09-26 | 2014-03-27 | Compuware Corporation | Technique for simulating an orientation change event in a test environment |
| US9703693B1 (en) * | 2017-03-08 | 2017-07-11 | Fmr Llc | Regression testing system for software applications |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11765165B2 (en) | 2020-09-22 | 2023-09-19 | Bank Of America Corporation | Web-browser extension analysis and enhancement |
| US11940905B2 (en) | 2021-09-15 | 2024-03-26 | UiPath, Inc. | System and computer-implemented method for testing an application using an automation bot |
| US11611497B1 (en) * | 2021-10-05 | 2023-03-21 | Cisco Technology, Inc. | Synthetic web application monitoring based on user navigation patterns |
| US20230109114A1 (en) * | 2021-10-05 | 2023-04-06 | Cisco Technology, Inc. | Synthetic web application monitoring based on user navigation patterns |
Also Published As
| Publication number | Publication date |
|---|---|
| US20170339042A1 (en) | 2017-11-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10536363B2 (en) | Synthetic testing of web applications using instrumented monitoring agents | |
| US11659056B2 (en) | Method and system for tracing end-to-end transaction, including browser side processing and capturing of end user performance experience | |
| US11588922B2 (en) | Capturing and replaying application sessions using resource files | |
| CN108052334B (en) | Page jumping method, apparatus, computer equipment and storage medium | |
| CN108595329B (en) | Application testing method and device and computer storage medium | |
| US11132287B2 (en) | Synthetic test recorder installed inline with a web portal | |
| US9356842B2 (en) | Method and system for browser based, non-intrusive measuring of end-user perceived performance of individual third party resource requests | |
| CN111901192B (en) | A statistical method and device for page access data | |
| US8271836B2 (en) | Capturing diagnostics in web browser applications | |
| US10242199B2 (en) | Application test using attack suggestions | |
| US9112825B2 (en) | Performance monitoring of a media player launched by a web browser | |
| CN110928767A (en) | Webpage analysis method, device, equipment and storage medium | |
| CN112532490A (en) | Regression testing system and method and electronic equipment | |
| US10382583B2 (en) | Method and system to update a front end client | |
| CN111177519B (en) | Webpage content acquisition method, device, storage medium and equipment | |
| US10534685B2 (en) | Application monitoring | |
| CN110851681A (en) | Crawler processing method and device, server and computer readable storage medium | |
| CN112637361A (en) | Page proxy method, device, electronic equipment and storage medium | |
| CN111767486B (en) | Method, apparatus, electronic device and computer readable medium for displaying pages | |
| CN114116388A (en) | A method, device, device and readable storage medium for data collection of applet | |
| CN110858238A (en) | Data processing method and device | |
| CN110704483A (en) | User routing process positioning method, device, storage medium and device | |
| CN113535568B (en) | Verification method, device, equipment and medium for application deployment version | |
| CN112671615B (en) | Method, system and storage medium for collecting front-end user operation behavior data | |
| CN112966167A (en) | Data crawling method, device, computer system and computer readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: DYNATRACE LLC, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SOMMER, ALEXANDER;FRANCOEUR, ALEXANDER;TANG, JIANBO;AND OTHERS;SIGNING DATES FROM 20160530 TO 20160606;REEL/FRAME:039005/0676 |
|
| AS | Assignment |
Owner name: JEFFERIES FINANCE LLC, NEW YORK Free format text: SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:DYNATRACE LLC;REEL/FRAME:046923/0528 Effective date: 20180823 Owner name: JEFFERIES FINANCE LLC, NEW YORK Free format text: FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:DYNATRACE LLC;REEL/FRAME:046923/0557 Effective date: 20180823 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| AS | Assignment |
Owner name: DYNATRACE LLC, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 46923/0528;ASSIGNOR:JEFFERIES FINANCE LLC, COLLATERAL AGENT;REEL/FRAME:049966/0518 Effective date: 20190805 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: DYNATRACE, LLC, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 046923/0557;ASSIGNOR:JEFFERIES FINANCE LLC, AS COLLATERAL AGENT;REEL/FRAME:062056/0562 Effective date: 20221202 |
|
| AS | Assignment |
Owner name: BMO HARRIS BANK N.A., ILLINOIS Free format text: SECURITY INTEREST;ASSIGNOR:DYNATRACE LLC;REEL/FRAME:062142/0187 Effective date: 20221202 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |