Test method, device, equipment, medium and program product for information flow page
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2022-07-15
- Publication Date
- 2026-07-21
AI Technical Summary
Existing technologies have low testing efficiency for information flow pages, cannot cover all channels, causing problems with events during video playback on some channels, and require developers to write a large number of script files, resulting in a waste of computer resources.
By introducing a data routing layer into the information flow page, the framework data of multiple information flow channels is encapsulated. A single information flow test operation is used to perform rendering tests on multiple channels, obtain the rendering results, and match them with reference results to obtain the test results.
It improved the testing efficiency and coverage of information flow pages, reduced the workload of developers, and saved computer resources.
Smart Images

Figure CN117435408B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a testing method, apparatus, device, medium, and program product for information flow pages. Background Technology
[0002] A news feed page often contains multiple channel pages (e.g., entertainment, games, fashion). The implementation schemes for these different channel pages often differ; for example, the fashion channel might use FFmpeg as its player, while the entertainment channel might use AVPlayer. Within the news feed page, developers need to test the events that occur (e.g., displaying comments during video playback).
[0003] In related technologies, testing is conducted by randomly selecting channels on the information flow page, and different types of data structures need to be constructed for the players of different channels. Generally, the developers of each channel write their own script files.
[0004] However, the sampling method does not cover all channels during the testing process, which may cause problems with events during video playback on some channels. In addition, the information flow page has a large number of channels, a wide range of changes, and rapid updates and iterations of functions, which means that developers need to write a lot of script files, resulting in a waste of computer resources and slow testing efficiency for the information flow page. Summary of the Invention
[0005] This application provides a testing method, apparatus, device, medium, and program product for information flow pages, which can improve the testing efficiency of information flow pages. The technical solution is as follows: On the one hand, a testing method for an information flow page is provided, the method comprising: Receive information flow test operation, the information flow test operation is used to test multiple information flow channels in the information flow page, wherein each of the multiple information flow channels corresponds to frame data, the frame data is data obtained by encapsulating the content display parameters corresponding to the information flow channel; Test content data is obtained based on the information flow test operation. The test content data is used to perform rendering tests on the multiple information flow channels. The test content data includes corresponding reference rendering results. The reference rendering results are used to indicate the rendering results that the test content data needs to achieve. The test content data is rendered based on the frame data corresponding to the multiple information flow channels respectively, so as to obtain the rendering results of the test content data in the multiple information flow channels respectively. The rendering result is matched with the reference rendering result to obtain the test result corresponding to the information flow page. The test result is used to indicate abnormal situations when multiple information flow channels in the information flow page display the test content data.
[0006] On the other hand, a testing device for an information flow page is provided, the device comprising: The receiving module is used to receive information flow test operations. The information flow test operations are used to test multiple information flow channels in the information flow page. Each of the multiple information flow channels corresponds to frame data. The frame data is data obtained by encapsulating the content display parameters corresponding to the information flow channel. The acquisition module is used to acquire test content data based on the information flow test operation. The test content data is used to perform rendering tests on the multiple information flow channels. The test content data includes corresponding reference rendering results, which are used to indicate the rendering results that the test content data needs to achieve. The rendering module is used to render the test content data based on the frame data corresponding to the multiple information flow channels respectively, so as to obtain the rendering results of the test content data in the multiple information flow channels respectively. The processing module is used to match the rendering result with the reference rendering result to obtain the test result corresponding to the information flow page. The test result is used to indicate abnormal situations when multiple information flow channels in the information flow page display the test content data.
[0007] On the other hand, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, the code set or instruction set being loaded and executed by the processor to implement the testing method of the information flow page in any of the embodiments of this application.
[0008] On the other hand, a computer-readable storage medium is provided, wherein at least one piece of program code is stored in the computer-readable storage medium, the at least one piece of program code being loaded and executed by a processor to implement the testing method for the information flow page according to any embodiment of this application.
[0009] On the other hand, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the testing method for the information flow page described in any of the embodiments of this application.
[0010] The beneficial effects of the technical solutions provided in this application include at least the following: By using the framework data corresponding to multiple information flow channels, the test content data obtained from the information flow test operation is rendered, resulting in the rendering results of the test content data in each of the multiple information flow channels. Based on these rendering results, the test results for each information flow channel are obtained. Since the framework data corresponding to multiple information flow channels is encapsulated in the same data routing layer, triggering a single information flow test operation allows testing of the same type of events generated by multiple information flow channels within the information flow page. This improves the testing efficiency and coverage of the information flow page. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 This is a schematic diagram of the interface of an information flow page provided in an exemplary embodiment of this application; Figure 2 This is a schematic diagram of a test method for an information flow page provided in an exemplary embodiment of this application; Figure 3 This is a schematic diagram of an implementation environment provided by an exemplary embodiment of this application; Figure 4 This is a flowchart of a testing method for an information flow page provided in an exemplary embodiment of this application; Figure 5 This is a flowchart of a testing method for an information flow page provided in another exemplary embodiment of this application; Figure 6 This is a schematic diagram of the interface of the test software provided in an exemplary embodiment of this application; Figure 7 This is a schematic diagram of the data routing layer architecture provided in an exemplary embodiment of this application; Figure 8 This is a flowchart of a testing method for an information flow page provided in another exemplary embodiment of this application; Figure 9 This is a flowchart illustrating a testing method for an information flow page provided in an exemplary embodiment of this application. Figure 10 This is a structural block diagram of a testing apparatus for an information flow page provided in an exemplary embodiment of this application; Figure 11This is a structural block diagram of a testing apparatus for an information flow page provided in another exemplary embodiment of this application; Figure 12 This is a structural block diagram of a server provided in an exemplary embodiment of this application. Detailed Implementation
[0013] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0014] In this application, the terms "first" and "second" are used to distinguish between identical or similar items that have essentially the same function. It should be understood that there is no logical or temporal dependency between "first" and "second", nor is there any limitation on the quantity or execution order.
[0015] Information feed pages often contain multiple channel pages; please refer to the example provided. Figure 1 This illustrates two different channel pages within the video stream: Fashion Channel Page 100 and Entertainment Channel Page 110. The implementation schemes for these different channel pages often differ. For example, Fashion Channel Page 100 uses FFmpeg (Fast Forwardmotion picture experts group, an open-source computer program that can record, convert, and stream digital audio and video) as its player, while Entertainment Channel Page 110 uses AVPlayer.
[0016] In the news feed page, developers need to test the events that occur. For example, during video playback, the product team requires certain events to occur at the nth second after the player starts playing (such as inserting recommended videos at the bottom of the player or displaying bullet comments). Since the implementation of the player varies across different channel pages, in related technologies, testing is usually done by randomly selecting channels on the news feed page. This can lead to the testing process not covering all channels on the news feed page, resulting in issues with events during video playback on some channels.
[0017] The testing method for the information flow page provided in this application embodiment is illustrative; please refer to [the relevant documentation]. Figure 2Based on the framework data 202 corresponding to multiple information flow channels, the test content data 201 obtained from the information flow test operation is rendered to obtain the rendering results 203 corresponding to the test content data in multiple information flow channels, and the test results 204 for multiple information flow channels are obtained based on the rendering results. Since the framework data corresponding to multiple information flow channels are all encapsulated in the same data routing layer 200, by triggering an information flow test operation once, the same type of events generated by multiple information flow channels contained in the information flow page can be tested, which improves the testing efficiency of the information flow page and also improves the test coverage of the information flow page.
[0018] Figure 3 This application provides an exemplary embodiment of an implementation environment diagram, such as... Figure 3 As shown, the implementation environment includes a terminal 310 and a server 320. The terminal 310 and the server 320 are connected through a communication network 330. In some optional embodiments, the communication network 330 can be a wired network or a wireless network. This embodiment does not limit this.
[0019] In some optional embodiments, terminal 310 may be a smartphone, tablet computer, laptop computer, desktop computer, smart home appliance, smart vehicle terminal, smart speaker, digital camera, etc., but is not limited to these. Terminal 310 has a target application installed. Indicatively, the target application may be a traditional application, a cloud application, a mini-program or application module within a host application, or a web platform; this embodiment does not limit this. In some optional embodiments, server 320 provides background services for the target application installed on the terminal.
[0020] In some optional embodiments, the target application provides a testing function for the information flow page. Optionally, the information flow page includes multiple channel pages. Illustratively, each channel page corresponds to a different player, and the implementation of each player, i.e., the playback content format, is different. The testing function for the information flow page can be a playback test of the players corresponding to each of the multiple channel pages. Illustratively, firstly, terminal 310 receives a playback test operation for each of the players corresponding to the multiple channel pages and forwards the playback test operation to server 320. Server 320 receives the playback test operation, parses it to obtain test content data, and feeds the test content data back to terminal 310. Terminal 310 receives the test content data and parses it to obtain the rendering results of the test content data corresponding to each of the multiple channel pages. Optionally, the rendering results are not displayed in the player of the channel page at this time. Finally, terminal 310 matches the rendering results with a reference rendering result to obtain the test results corresponding to each of the multiple channel pages.
[0021] In some optional embodiments, the terminal 310 is provided with a test program creation function. For example, developers can input a test program into the terminal 310 and execute the test program, which can trigger the above-mentioned playback test operation.
[0022] In some optional embodiments, the execution of the above-described test program can be performed on other terminals. For example, the developer inputs the test program on another terminal and executes the test program. Based on the execution of the test program, the other terminal sends a playback test instruction to the server 320. The server 320 receives the playback test instruction and forwards it to the terminal 310. The terminal 310 receives the playback test instruction and, based on the playback test instruction, triggers the above-described playback test operation on the terminal 310.
[0023] It is worth noting that Server 320 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
[0024] Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. Based on the cloud computing business model, cloud technology encompasses network technology, information technology, integration technology, management platform technology, and application technology. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to a backend system for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing. Optionally, server 320 can also be implemented as a node in a blockchain system.
[0025] It should be noted that all information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.), and signals involved in this application have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the framework data involved in this application was obtained with full authorization.
[0026] Based on the above introduction and implementation environment, the testing method for the information flow page provided in this application embodiment will be described. Please refer to [link / reference]. Figure 4 It illustrates a flowchart of a testing method for an information flow page provided in an exemplary embodiment of this application, and describes the method by taking its application in a terminal as an example. Figure 4 As shown, the method includes: Step 401: Receive information flow test operation.
[0027] The information flow test operation is used to test multiple information flow channels on the information flow page. Each information flow channel corresponds to frame data, which is data obtained by encapsulating the content display parameters corresponding to the information flow channel.
[0028] In illustrative terms, a feed test operation refers to testing events in multiple feed channels, such as testing whether the video loading function in a feed channel is working properly.
[0029] Optionally, the aforementioned information flow test operation is a trigger operation received on a first application of the terminal, wherein the first application is a development test program used by the developer; the information flow page is a page displayed in a second application of the terminal, wherein the second application may be an instant messaging application, a video application, a social application, a shopping application, etc., and this application embodiment does not limit it.
[0030] In some optional embodiments, the first application and the second application are different applications. That is, if a test application (i.e., the first application) and the application under test (i.e., the second application) are displayed on the terminal interface, then the information flow test operation is received in the test application to test the information flow page of the application under test.
[0031] In some optional embodiments, the first application and the second application described above are the same application. Schematic, a video testing module is embedded in the video application, and the video testing module receives information flow test operations to test the video playback function of the information flow page in the video application.
[0032] Indicatively, the first application includes a test interface, which includes test controls and a test result display interface. The test controls are used to trigger information flow test operations on the information flow page of the second application, and the test result display interface is used to display the test results corresponding to the information flow test operations.
[0033] Optionally, the above-mentioned information flow page includes multiple subpages, each of which corresponds to an information flow channel. For example, in a video application, the video flow page includes a first subpage and a second subpage, where the first subpage is the entertainment channel and the second subpage is the sports channel.
[0034] Optionally, different feed channels correspond to different players, and these players are implemented in different ways. For example, multiple feed channels include channel A and channel B. Channel A uses FFmpeg as its player, and channel B uses AVPlayer. Therefore, the content display parameters for these multiple feed channels are different. These content display parameters indicate the format of the content displayed in the feed channel. Taking the implementation of content display parameters as playback parameters as an example, the playback parameters include at least one of the following: 1. Container formats supported by the player, such as: .mkv, .mp4, .webm, .avi, etc.; 2. The encoding format in the player, such as video encoding formats H.261, H.263, H.264, etc.; 3. Decoder types in the player, such as: aac, libx264, libaom, etc.; 4. The display frame rate of the video in the player.
[0035] It should be noted that the above description of playback parameters is merely an illustrative example, and the embodiments of this application do not limit it.
[0036] Optionally, if the framework data corresponding to multiple information stream channels is stored in the data routing layer, then before receiving the information stream test operation, the following steps are also included: Receive frame creation operation. The frame creation operation is used to add frame data corresponding to a specified information flow channel in the data routing layer.
[0037] Optionally, receive framework creation operations, including: Receive the selection operation for the specified information flow channel; obtain the content display parameters corresponding to the specified information flow channel and create a container array in the data routing layer; store the content display parameters corresponding to the specified information flow channel into the container array to obtain the frame data corresponding to the specified information flow channel.
[0038] As an illustration, the test interface of the first application also includes a frame data injection control and a feed channel selection control. Clicking the feed channel selection control allows you to select the feed channel into which frame data needs to be injected. For example, if you click the feed channel selection control to select channel 1, and then click the frame data injection control, you can upload the content display parameters corresponding to channel 1 on the test page. After confirming the upload, the content display parameters will be injected into the container array a of the data routing layer, thus obtaining the frame data A corresponding to channel 1.
[0039] Step 402: Obtain test content data based on information flow test operations.
[0040] The test content data is used to perform rendering tests on multiple information stream channels.
[0041] Taking the implementation of an information feed page as a video stream page as an example, the video stream page plays video through a player. Optionally, the information feed test operation includes at least one of the following: player loading test operation, player initialization test operation, and player playback test operation; among them, the player playback test operation refers to the test operation of events during the process of the player playing video.
[0042] Optionally, the process of obtaining test content data described above includes at least one of the following methods: (a) The test content data is the data returned by the server based on the request sent by the terminal.
[0043] To illustrate, the process of obtaining test content data described above also includes the following steps: 1. When the first application (i.e., the test application) receives the player test operation, it sends the player test instruction to the second application (i.e., the application being tested). After the second application parses the instruction, it first creates a data management object in the data routing layer and encapsulates the instruction in the data management object to obtain the player test request.
[0044] 2. Next, the terminal will send the aforementioned player test request to the server. The server will parse the player test request to obtain the player file. This player file is a file related to the player on the video stream playback page. The player file contains player data and data related to the video that the player currently needs to play. Optionally, if the aforementioned video stream page includes multiple subpages, then the player file includes files related to the players on each of those subpages. In other words, when a player test operation is triggered, it triggers player test operations on multiple subpages within the video stream page.
[0045] 3. If the data management object includes a hook function, when the server returns the player file to the terminal, the data management object will obtain the test content data from the player file through the hook function. If the video stream page includes multiple sub-pages, the test content data includes the test data corresponding to each of the multiple sub-pages. In other words, the test content data is used to perform rendering tests on multiple sub-pages.
[0046] (ii) The test content data is stored locally.
[0047] Optionally, the test content data includes video content data.
[0048] To illustrate, the process of obtaining test content data described above also includes the following steps: 1. Based on the information flow test operation, obtain multiple candidate video content data.
[0049] Multiple candidate video content data are videos stored in the terminal's local database used for rendering tests.
[0050] To illustrate, the candidate test content data includes historical test data, which is data saved in the terminal that was used in previous tests; the candidate test content data also includes locally uploaded data, which is data currently uploaded by the developer for rendering tests.
[0051] 2. Perform face recognition analysis on the specified video time periods corresponding to multiple candidate video content data to obtain face recognition results.
[0052] Among them, the face recognition result is used to indicate the inclusion of face images in multiple candidate video content data within a specified video time period.
[0053] As an illustration, the terminal stores a pre-trained video face recognition model. The aforementioned multiple candidate video content data are input into the video face recognition model, and face recognition analysis is performed on the video segments corresponding to the candidate video content data to output the face recognition result.
[0054] The video face recognition model is trained using sample video clips and reference video clips. The reference video clips are manually labeled segments of the sample video clips, where manual labeling refers to marking specific video segments containing facial images. The training process for the video face recognition model includes the following steps: inputting sample video clips into the model; extracting texture features, color features, shape features, etc., from each frame of the sample video clips; performing feature analysis on the extracted features to obtain face recognition analysis results; outputting target video clips based on the face recognition results, where the target video clips are sample video clips with labeled facial image content for the specified video segments; and training the model based on the differences between the target video clips and the reference video clips to obtain the final video face recognition model.
[0055] 3. Based on the face recognition results, determine the video content data containing face images in a specified video time period from multiple candidate video content data.
[0056] As an illustration, the face recognition result is the result of marking a specified video segment containing a face image in multiple candidate video content data. The video segment containing a face image in multiple candidate video content data can be directly determined through this marking result, which is the video content data.
[0057] Among them, the video content data is used to conduct face avoidance tests on the rendering results of recommendation information from multiple information flow channels during specified video periods.
[0058] To illustrate, the face avoidance test is as follows: If the information flow test operation is to test the pre-roll ad events of the player in multiple information flow channels, in order to make the pre-roll ads avoid obscuring faces in the video screen as much as possible, the rendering results of the pre-roll ads in video clips containing facial images can be tested.
[0059] The test content data includes the corresponding reference rendering results, which are used to indicate the rendering results that the test content data needs to achieve.
[0060] For illustrative purposes, reference rendering data refers to the page parameters that are displayed normally on the information flow page under normal circumstances. The reference rendering result can be the page parameters that are pre-saved in the test application, which are the page parameters when the test content data is displayed normally.
[0061] Step 403: Render the test content data based on the framework data corresponding to each of the multiple information flow channels to obtain the rendering results of the test content data in each of the multiple information flow channels.
[0062] Optionally, the test content data can be transformed based on the framework data to obtain the corresponding rendering results.
[0063] To illustrate, let's take the example of loading test data into a player. If a target video needs to be loaded into the player, the player's test data includes the target video's address or original video data. Based on the player's corresponding frame data in the information stream channel, the data linked to the target video's address or the original video data is rendered to obtain the rendering result. For example, if the original video data is in .avi format, but the player supports .mp4 format, the original video data is converted to .mp4 format to obtain .mp4 format video data. Then, according to the decoder type and frame rate in the frame data, the .mp4 format video data is decoded to obtain the video rendering result supported by the player.
[0064] Optionally, if the test content data includes sub-content data corresponding to multiple information flow channels, then based on the framework data corresponding to the multiple information flow channels, the multiple sub-content data are rendered separately to obtain the rendering results corresponding to the multiple sub-content data.
[0065] Step 404: Match the rendered result with the reference rendered result to obtain the test result corresponding to the information flow page.
[0066] The test results are used to indicate abnormal situations when multiple information feed channels on the information feed page display test content data.
[0067] For illustration, after obtaining the parameter information in the rendering result, it is compared with the page parameters in the reference rendering result. If the parameter information in the rendering result matches the page parameters in the reference rendering result, it means that the event generated in this information stream channel can be executed normally. If the parameter information in the rendering result does not match the page parameters in the reference rendering result, it means that the event generated in this information stream channel is abnormal. Optionally, the abnormal page parameters in the rendering result are saved to the log.
[0068] If the information flow test operation is to test the pre-roll ad events of the player in multiple information flow channels, the above rendering results are also used to indicate the percentage of face image occlusion of the pre-roll ad in the specified video period. For example, if the pre-roll ad occludes 20% of the face image in the specified video period in the rendering result, while the pre-roll ad occludes 10% of the face image in the specified video period in the reference rendering result, it means that the rendering result and the reference rendering result fail to match, and it indicates that the rendering result of the pre-roll ad is abnormal.
[0069] In summary, the information flow page testing method provided in this application renders the test content data obtained from the information flow test operation using framework data corresponding to multiple information flow channels, obtaining the rendering results of the test content data in each of the multiple information flow channels, and then obtaining the test results for multiple information flow channels based on the rendering results. Since the framework data corresponding to multiple information flow channels are all encapsulated in the same data routing layer, by triggering one information flow test operation, the same type of events generated by multiple information flow channels contained in the information flow page can be tested, improving the testing efficiency and coverage of the information flow page.
[0070] The method provided in this application embodiment stores the framework data corresponding to multiple information flow channels in the data routing layer. The data routing layer then uniformly saves the framework data, controls the entry points of each information flow page, converges the data modules, and standardizes the behavior of each business party in using the data layer.
[0071] In some optional embodiments, the above-described information flow testing operation is implemented as the execution operation of an information flow testing program. Please refer to [reference needed]. Figure 5 It illustrates a flowchart of a testing method for an information flow page provided in an exemplary embodiment of this application, and describes the method by taking its application in a terminal as an example. Figure 5 As shown, the method includes: Step 501: Receive framework creation operation.
[0072] The frame creation operation is used to add frame data corresponding to a specified information flow channel in the data routing layer.
[0073] This is illustrative; please refer to it. Figure 6 , Figure 6 This application provides a test program interface diagram for use by developers or testers, such as... Figure 6 As shown, developers can select a specific news feed channel to inject content display parameters into the data routing layer, thereby increasing the framework data corresponding to that specific news feed channel. The channel selection control 601 allows you to select the information stream channels from which you want to inject content display parameters. Figure 6 If "Aipai" is highlighted, it means that the "Aipai" channel in the information feed page needs to be injected with content display parameters.
[0074] Clicking the registration data control 602 imports the content display parameters required by the "Aipai" channel into the data routing layer. These content display parameters can be data stored in the terminal database. When the registration data control 602 is clicked, the terminal database will inject the content display parameters into the data routing layer. Alternatively, the content display parameters can be data currently entered by the developer. That is, after clicking the registration data control 602, a parameter input page will appear. The developer can enter the content display parameters required by the "Aipai" channel, and after confirmation, the content display parameters will be injected into the data routing layer.
[0075] The process of obtaining framework data after injecting content display parameters into the data routing layer also includes the following steps: Based on the content display parameters corresponding to the received specified information stream channel, a container array is created in the data routing layer; the content display parameters corresponding to the specified information stream channel are stored in the container array, thus obtaining the frame data corresponding to the specified information stream channel; the container array also includes a status flag, which is used to indicate the status of the frame data in the container array. The status flag can represent the frame data running status, frame data error status, and frame data waiting status.
[0076] Step 502: Receive information flow test operation.
[0077] The information flow test operation is used to test multiple information flow channels on the information flow page. Each information flow channel corresponds to frame data, which is data obtained by encapsulating the content display parameters corresponding to the information flow channel.
[0078] Optionally, a frame data corresponding to a news feed channel corresponds to a container array. For example, the frame data 'a' corresponding to channel A is stored in container array 1, and the frame data 'b' corresponding to channel B is stored in container array 2.
[0079] This is illustrative; please refer to it. Figure 7 It illustrates an architecture diagram for registering framework data at the data routing layer, such as... Figure 7As shown, playback parameters 701 corresponding to multiple information stream channels are injected into the frame data registration module 702. When the frame data registration module 702 receives the playback parameters 701, it creates a container array with the same number of information stream channels and injects the playback parameters corresponding to the information stream channels into the container array, thus obtaining frame data A 703, frame data B 704, and frame data C 705. Each container array also corresponds to an item object, used to store the status flag of the frame data in the container array, such as... Figure 7 As shown, data 703 in frame A corresponds to item object a, data 704 in frame B corresponds to item object b, and data 705 in frame C corresponds to item object c.
[0080] Optionally, if the above-mentioned information flow test operation can be implemented as an execution operation of an information flow test program, then before receiving the information flow test operation, the following steps are also included: Receive import operations for the information flow test program.
[0081] This is illustrative; please refer to it. Figure 6 Clicking the Import Program Control 603 will import the information flow test program into the data routing layer. Upon receiving the information flow test program, the data routing layer will parse it to obtain a parsing result, which will then be used to execute the program. The information flow test program can be a program stored in the terminal's database; clicking the Import Program Control 603 will import this program into the data routing layer. Alternatively, the information flow test program can be a program currently entered by the developer. Clicking the Import Program Control 603 will bring up a program input page where the developer can enter the information flow test program and confirm it to import it into the data routing layer.
[0082] Next, click to execute the routing control 604. The data routing layer will trigger information flow test operations on multiple information flow channels based on the parsing results of the information flow test program mentioned above.
[0083] Optionally, if the same information stream testing program is used, the test type of the information stream test operations triggered on multiple information stream channels will be the same. For example, if the information stream testing program is a playback loading test, then multiple information stream channels will trigger the player loading test operation sequentially; or, multiple information stream channels will trigger the player loading test operation simultaneously. The implementation methods of the players corresponding to the multiple information stream channels can be different.
[0084] Step 503: Obtain test content data based on information flow test operations.
[0085] The test content data is used to perform rendering tests on multiple information stream channels. The test content data includes corresponding reference rendering results, which are used to indicate the rendering results that the test content data needs to achieve.
[0086] As an illustration, executing the above information flow test program at the data routing layer is the information flow test operation. After executing the information flow test program, the specific process of obtaining the test content data can be referred to step 402, which will not be repeated here.
[0087] Step 504: Obtain the test script file.
[0088] The test script file is used to instruct on test items for multiple information flow channels.
[0089] Optionally, the test script file can be obtained through the aforementioned information flow test program.
[0090] Optionally, the test script file is a test script program. If the information flow test program itself contains a test script program, then the process of obtaining the information flow test program is the same as the process of obtaining the test script program.
[0091] This example illustrates how an information feed page can be implemented as a video stream page. Test items for multiple information feed channels include player loading tests, player initialization tests, and player playback tests on the video stream page. The script test program is executed to perform these tests.
[0092] This is an illustrative explanation of the information flow test program and the test script program. If the information flow test program contains a test script program, the information flow test program is the program that triggers the player to start the test, while the test script program is the program that indicates which specific event of the player needs to be triggered and obtains the test results.
[0093] Step 505: Render the test content data based on the framework data corresponding to each of the multiple information flow channels and the test items corresponding to the test script files, and obtain the rendering results of the test content data in each of the multiple information flow channels.
[0094] It should be noted that at this time, the state corresponding to the framework data is the framework data running state, that is, it means that the framework data is rendering the test content data in it.
[0095] In some optional embodiments, the test content data mentioned above may include all the content that needs to be displayed in the current information stream channel. If it is necessary to display specific content (e.g., a specific video), the specific content can be marked, for example, the specific video can be marked as "needs to be played".
[0096] The process of marking specified content can be achieved by automatically marking the video to be played through a test script file; or the process of marking specified content can be implemented on the development side, that is, the test content data obtained based on the information flow test operation is the marked data.
[0097] In some optional embodiments, the process of obtaining the rendering result described above further includes: The system renders test content data across multiple information stream channels based on the framework data and test script files corresponding to those channels. Upon the end of the rendering phase indicated by the test script file, the system obtains the rendering results of the test content data in each of the multiple information stream channels.
[0098] Indicatively, the test content data is sent to the data routing layer, and rendering of the test content data begins based on the framework data in the data routing layer. If the test item in the test script file indicates a player loading test, rendering ends after the player is loaded; if the test item in the test script file indicates a player initialization test, rendering ends after the player is initialized.
[0099] Optionally, based on the test script file, test content data is rendered sequentially for multiple information flow channels; or, based on the test script file, test content data is rendered simultaneously for multiple information flow channels.
[0100] The rendering process of a single information stream channel is illustrated. If the test content data is video data and the test script file indicates that the test is to play the video on the player, then the rendering stage indicated by the test script file is the entire process of the player playing the video. Finally, the rendering result of the playback page during the entire process of playing the video is obtained.
[0101] In some optional embodiments, if the development side only iterates over a certain time period of video in the player, then it is only necessary to test the video content played by the player during that time period. In this case, the rendering stage indicated by the test script file is the specified time period during which the player plays the video, and the result obtained is the rendering result of the playback page for playing the video during the specified time period. Alternatively, the rendering stage indicated by the test script file is the entire process of the player playing the video, and finally, the result obtained is the rendering result of the playback page for playing the video during the specified time period.
[0102] Optionally, after obtaining the rendering results of the test content data in multiple information flow channels, the rendering results and the channel identifiers of the information flow channels are stored in the log.
[0103] Step 506: Match the rendered result with the reference rendered result to obtain the test result corresponding to the information flow page.
[0104] The test results are used to indicate abnormal situations when multiple information feed channels on the information feed page display test content data.
[0105] It should be noted that at this time, the frame data status of the information flow channel corresponding to the test result is in the frame data error state, which means that the information flow channel corresponding to the test result is abnormal in this test project.
[0106] In some optional embodiments, when the test of a certain information flow channel is completed, the container array corresponding to the information flow channel will release the test content data in the frame data, and at this time the frame data is in the frame data waiting state.
[0107] Optionally, when matching the rendered result with the reference rendered result, the rendered result needs to be intercepted before being displayed on the terminal interface. In other words, before the rendered result is displayed, a matching process between the rendered result and the reference rendered result is required. For example, in the process of loading a video onto the player page, rendering precedes display. Therefore, the video loading and display parameters can be obtained before display and compared with the reference video loading and display parameters to obtain the comparison result. The result of an anomaly (i.e., a failed match) is the test result.
[0108] Optionally, the matching process between the rendered result and the reference rendered result occurs during the display of the rendered result. For example, during video playback, if it is necessary to test certain events generated during playback (e.g., displaying bullet comments at the nth second), the event display parameters can be obtained during playback and compared with the reference event display parameters to obtain the comparison result. The result of the comparison failure (i.e., the unsuccessful match) is the test result.
[0109] In summary, the information flow page testing method provided in this application renders the test content data obtained from the information flow test operation using framework data corresponding to multiple information flow channels, obtaining the rendering results of the test content data in each of the multiple information flow channels, and then obtaining the test results for multiple information flow channels based on the rendering results. Since the framework data corresponding to multiple information flow channels are all encapsulated in the same data routing layer, by triggering one information flow test operation, the same type of events generated by multiple information flow channels contained in the information flow page can be tested, improving the testing efficiency and coverage of the information flow page.
[0110] The information flow page testing method provided in this application embodiment triggers information flow testing operations through an information flow testing program and triggers the testing process for specified test items through a test script program. The program automatically implements the testing process for multiple information flow channels, and multiple information flow channels share the same information flow testing program and test script program, which improves code reusability and improves the testing efficiency of information flow pages.
[0111] In some optional embodiments, the process of obtaining the test content data described above also includes a process for filtering invalid data. Please refer to [link / reference needed]. Figure 8 It illustrates a flowchart of a testing method for an information flow page provided in an exemplary embodiment of this application, and describes the method by taking its application in a terminal as an example. Figure 8 As shown, the method includes: Step 801: Receive information flow test operation.
[0112] The information flow test operation is used to test multiple information flow channels on the information flow page. Each information flow channel corresponds to frame data, which is data obtained by encapsulating the content display parameters corresponding to the information flow channel.
[0113] Step 802: Obtain test content data based on information flow test operations.
[0114] The test content data is used to perform rendering tests on multiple information flow channels. The test content data includes corresponding reference rendering results, which are used to indicate the rendering results that the test content data needs to achieve.
[0115] Step 803: Based on the splitting operation of the test content data, obtain the strings corresponding to the multiple information flow channels respectively.
[0116] In some optional embodiments, the process of obtaining the strings corresponding to multiple information stream channels further includes the following steps: 1. Based on the splitting operation of the test content data, obtain the candidate fields corresponding to multiple information flow channels respectively.
[0117] Optionally, before obtaining the candidate fields corresponding to multiple information flow channels, it is necessary to classify the test content data according to the multiple information flow channels. For example, if the currently obtained test content data is the test data for the entire information flow page, including sub-content data corresponding to multiple information flow channels, then the test content data is classified to obtain the sub-content data corresponding to each of the multiple information flow channels.
[0118] To illustrate, let's take the example of test content data being implemented as meta data returned by the server through a Hook function in the data routing layer. The meta data is categorized according to the information flow channel, resulting in multiple meta data items. There may be one meta data item corresponding to one information flow channel, or multiple meta data items corresponding to one information flow channel.
[0119] Optionally, each piece of meta data can be split to obtain candidate fields.
[0120] If the test content data is the player's test content data, the candidate fields may include cover image (imageUrl), second-level page address (pageUrl), video stream address (playUrl), playback event types (playActionTypes), and the time when the event occurs during playback (actionTimes). Specifically, the cover image represents the cover displayed on the player's homepage when the video is not playing; the second-level page address refers to the address of other pages that can be linked to in the current feed channel; the video stream address refers to the address of the video that the player needs to play in the current feed channel; playback event types refer to events that occur during video playback, such as inserting recommended video links at the bottom of the player, displaying pre-roll ads, or showing bullet comments; and the playback event times refer to the specific moments during video playback when these events occur.
[0121] 2. Filter the candidate fields corresponding to multiple information flow channels and remove invalid fields from the candidate fields corresponding to multiple information flow channels.
[0122] As an example, the candidate fields may include redundant fields (i.e. invalid data) that are unrelated to the video played by the player, such as advertisements or image / text related information. In such cases, the candidate fields can be filtered to remove the invalid fields.
[0123] 3. Concatenate the candidate fields corresponding to the multiple information flow channels after removing invalid fields to obtain the strings corresponding to the multiple information flow channels.
[0124] As an illustration, after removing invalid fields from each meta data entry, the remaining fields are concatenated into a single string, separated by spaces.
[0125] Step 804: In response to the presence of target identifier information in the string corresponding to the target information stream channel among multiple information stream channels, the rendering result of the test content data in the target information stream channel is obtained.
[0126] The target identifier information is used to indicate that the content in the string needs to be tested.
[0127] For illustrative purposes, if the target identifier is an automatic playback identifier (e.g., autoPlay = 1), it indicates that events during the video playback process in this string need to be tested. Optionally, if multiple feed channels trigger feed test operations simultaneously, the events during the video playback process in the feed channels are tested sequentially.
[0128] Optionally, the strings in multiple information stream channels are traversed. If the target identifier information is found in the string corresponding to the target information stream channel, the traversal stops and the events during the playback of the video in the target information stream channel are tested.
[0129] The process of obtaining the rendering result of the test content data in the target information stream channel during test playback also includes: The string corresponding to the target information stream channel is converted into a model object using the `initWithString` method. This model object and the channel identifier of the target information stream channel are stored together to obtain model-channel data. This model-channel data is then input into the frame data corresponding to the target information stream channel to obtain the rendering result.
[0130] In some optional embodiments, the rendering result includes rendering coordinates and rendering effect, where the rendering coordinates refer to the display position of the rendered test content data on the information flow page. Therefore, the process of obtaining the rendering result further includes: rendering the test content data based on the frame data corresponding to each of the multiple information flow channels to obtain the rendering coordinates and rendering effect of the test content data in each of the multiple information flow channels.
[0131] Step 805: Match the rendering coordinates of the test content data in multiple information stream channels with the reference rendering coordinates; and match the rendering effects of the test content data in multiple information stream channels with the reference rendering effects to obtain the test results of the test content data in multiple information stream channels.
[0132] In some optional embodiments, the method for obtaining test results includes: calculating a first degree of matching between the rendering coordinates and reference rendering coordinates of the test content data in multiple information stream channels; calculating a second degree of matching between the rendering effect and reference rendering effect of the test content data in multiple information stream channels; and obtaining test results for the test content data in multiple information stream channels based on the first degree of matching and the second degree of matching.
[0133] Optionally, in response to the first matching degree or the second matching degree being less than a preset expected value, an error log is generated as the test result corresponding to the test content data in multiple information flow channels respectively; or, in response to the average of the first matching degree and the second matching degree being less than a preset expected value, an error log is generated as the test result corresponding to the test content data in multiple information flow channels respectively.
[0134] The error log includes at least one of the following: 1. Error logs are the results generated by rendering parameters and rendering effects. They may contain correct results. For example, in video loading tests, error logs may contain the display of the player's playback controls, the player's cover image, and video descriptions. The player's cover image is not considered an error.
[0135] 2. If the test item corresponding to the test content data is a test of the target event generated during video playback, then the `actionTimes` field needs to be obtained during playback. The state changes of the player page should be monitored at the time the target event occurs. Each `playActionType` corresponds to a message processing channel. The changes in the message processing channel of the `playActionType` are obtained at the time the target event occurs. These changes indicate the changes in the video playback page display parameters based on the target event generated at second n. The changes in the message processing channel can be implemented as the methods that need to be called for the target event generated at second n. Optionally, the process of calling the methods can be marked, and the result of the marking is the error log. For example, if an ad event occurs during video playback, the method call process for ad data, UI creation, and animation display needs to be marked. The marking results are written to the log. By comparing the logs of different news feed channels for the same ad, it is possible to find which news feed channel is displaying an anomaly. The log corresponding to the news feed channel with the abnormal display is the error log.
[0136] In summary, the information flow page testing method provided in this application renders the test content data obtained from the information flow test operation using framework data corresponding to multiple information flow channels, obtaining the rendering results of the test content data in each of the multiple information flow channels, and then obtaining the test results for multiple information flow channels based on the rendering results. Since the framework data corresponding to multiple information flow channels are all encapsulated in the same data routing layer, by triggering one information flow test operation, the same type of events generated by multiple information flow channels contained in the information flow page can be tested, improving the testing efficiency and coverage of the information flow page.
[0137] The method provided in this application provides a method for filtering the metadata of the input data routing layer, eliminating invalid data, and reducing the abnormal test rate during the testing process; and by formatting the meta data through a unified data routing layer, it improves the efficiency of information flow page testing.
[0138] In some optional embodiments, the example of implementing an information feed page as a video stream page will be used for illustration. Figure 9 This is a complete flowchart of a testing method for an information flow page provided in an embodiment of this application, as shown below. Figure 9 As shown, the method includes: S901 constructs the data routing layer.
[0139] This is illustrative of a unified encapsulation and routing of the terminal's data layer, which constitutes the construction of a data routing layer.
[0140] S902, execute the script.
[0141] This is illustrative; the script here refers to the aforementioned information feed test program, used to trigger test operations on the information feed page. Before executing the script, the following steps are included: 1. Framework data creation operation.
[0142] When a feature on the information feed page finishes its iteration, developers can, for example... Figure 6 The test program interface shown selects the information stream channel contained in the information stream page and injects the playback parameters into the data routing layer.
[0143] In the data routing layer, when playback parameters are received, the data routing layer creates a container array to store the injected playback parameters, thereby obtaining the frame data. At the same time, when playback parameters are received, the data routing layer creates a corresponding itme object in the above container array. Each itme object holds a flag attribute to mark the status of the frame data (generally with 3 values: running, error, and waiting).
[0144] 2. Framework data import operation.
[0145] Indicative, developers use, for example Figure 6 The test program interface shown imports the script file into the data routing layer.
[0146] When framework data and script files exist in the data routing layer, it can be done through methods such as... Figure 6 The test program interface shown allows you to start executing the script file and launching the application containing the information stream page being tested. Generally, the script file includes three types of functions: player loading test, player initialization test, and player event test.
[0147] S903, Create a category.
[0148] As an illustration, after parsing the instruction to load the information feed page in the application where the information feed page being tested resides, a DataManager+Hook category is created and generated.
[0149] The instruction to load the news feed page is the player loading test triggered by the script mentioned above.
[0150] S904, Send a request to load data.
[0151] As an illustration, the application containing the feed page being tested encapsulates the instruction to load the feed page into a network request and sends it to the server.
[0152] S905, check if the swap postWithParameters method is loaded.
[0153] As an example, the server parses the instructions to load the information stream page to obtain the target data. After the server returns the data, the meta data in the target data can be captured through DataManager+Hook classification.
[0154] As an example, to determine whether the `postWithParameters` method has been used to load an indicator for playing video in the player, the obtained meta data needs to be processed before making this determination: 1. In the meta data, each piece of meta data is split into fields. The main fields include imageUrl (cover image), pageUrl (second-level page address), playUrl (video stream address), playActionTypes (event types during playback), and actionTimes (an array of event times). Optionally, non-meta data (such as advertisements and image / text information) can be filtered out.
[0155] 2. Concatenate all fields into a single string, separating them with spaces, and mark one or more videos to be tested as automatically playing (e.g., autoPlay = 1).
[0156] 3. Each channel module provides the method `initWithString` to convert strings into model objects.
[0157] When initializing the DataManager, the class name of the model object and the corresponding information flow channel ID are passed into the DataManager for storage, generating data in the form of channelIDA-channelData_A, channelIDB-channelData_B. After converting the string into a model object, the model object data with the above data structure is obtained.
[0158] Iterate through the model object data of each information stream channel and determine whether it contains playback-related data, such as whether it contains the automatic play flag autoPlay = 1.
[0159] S906, if the postWithParameters method is not loaded, execute the next channel script.
[0160] Indicatively, the target channels are traversed sequentially. If the model object data of the i-th information stream channel does not contain playback-related data, the postWithParameters method is not swapped and loaded. The (i+1)-th information stream channel is then traversed, and the script for the next channel is executed.
[0161] S907, if the postWithParameters method is swapped during loading, execute the script for comparison testing.
[0162] As an illustration, if the model object data of the i-th information stream channel contains playback-related data, such as the automatic play flag autoPlay = 1, then the postWithParameters method is used to load it.
[0163] Optionally, stop the traversal and execute the script comparison test. After executing the script comparison test, obtain the framework data, populate the meta data that has been converted into model object data, and create the corresponding UI elements.
[0164] S908, determine if there is a difference.
[0165] For illustrative purposes, if the current script comparison test includes player loading detection, the coordinates and parameters of the rendered UI elements will be intercepted and compared with the standard page data (i.e., the reference page data) to determine whether there are any differences between the standard page data and the rendered UI elements and the standard page data.
[0166] S906, if there is no difference, execute the script for the next channel.
[0167] For illustrative purposes, if there is no difference between the standard page data and the rendered UI elements, continue to traverse the next news feed channel and execute the script for the next channel.
[0168] S909, if there are differences, mark the flag and generate a log.
[0169] For illustration purposes, if there are differences between the standard page data and the rendered UI elements, the flag field in the framework data at this time will be marked as an error state, and a log will be generated. The log may include the display of the playback controls, the player cover image, and the video description text.
[0170] S906, execute the script for the next channel.
[0171] As an example, after generating the log, the process continues to traverse the next information stream channel and execute the script for the next channel.
[0172] Optionally, the process ends after all information feed channels on the information feed page have been traversed.
[0173] Please refer to Figure 10 The diagram illustrates a test apparatus structure for an information flow page according to an exemplary embodiment of this application. The apparatus includes the following modules: The receiving module 1000 is used to receive information flow test operations. The information flow test operations are used to test multiple information flow channels in the information flow page. Each of the multiple information flow channels corresponds to frame data. The frame data is data obtained by encapsulating the content display parameters corresponding to the information flow channel. The acquisition module 1010 is used to acquire test content data based on the information flow test operation. The test content data is used to perform rendering tests on the multiple information flow channels. The test content data includes corresponding reference rendering results, which are used to indicate the rendering results that the test content data needs to achieve. The rendering module 1020 is used to render the test content data based on the frame data corresponding to the multiple information flow channels respectively, so as to obtain the rendering results of the test content data in the multiple information flow channels respectively. The processing module 1030 is used to match the rendering result with the reference rendering result to obtain the test result corresponding to the information flow page. The test result is used to indicate abnormal situations when multiple information flow channels in the information flow page display the test content data.
[0174] Please refer to Figure 11 In some optional embodiments, the rendering module 1020 includes: The acquisition unit 1021 is used to acquire a test script file, which is used to instruct the test items of the plurality of information flow channels; The filling unit 1022 fills the test content data based on the frame data corresponding to the multiple information flow channels respectively; The rendering module 1020 is further configured to render the test content data based on the test items corresponding to the test script file, and obtain the rendering results of the test content data in multiple information stream channels respectively.
[0175] In some optional embodiments, the rendering module 1020 is further configured to run the rendering of the test content data on the plurality of information stream channels based on the test script file; the rendering module 1020 is further configured to obtain the rendering results of the test content data in the plurality of information stream channels respectively in response to the end of the rendering stage indicated by the test script file.
[0176] In some optional embodiments, the rendering module 1020 is further configured to render the test content data based on the frame data corresponding to the plurality of information flow channels respectively, to obtain the rendering coordinates and rendering effects of the test content data in the plurality of information flow channels respectively; the processing module 1030 is further configured to match the rendering coordinates of the test content data in the plurality of information flow channels respectively with reference rendering coordinates; and to match the rendering effects of the test content data in the plurality of information flow channels respectively with reference rendering effects, to obtain the test results of the test content data in the plurality of information flow channels respectively.
[0177] In some optional embodiments, the processing module 1030 includes: The calculation unit 1031 is used to calculate the first matching degree between the rendering coordinates of the test content data in multiple information stream channels and the reference rendering coordinates; The calculation unit 1031 is also used to calculate a second matching degree between the rendering effect of the test content data in multiple information flow channels and the reference rendering effect; The processing module 1030 is further configured to obtain test results corresponding to the test content data in multiple information flow channels based on the first matching degree and the second matching degree.
[0178] In some optional embodiments, the processing module 1030 is further configured to generate an error log in response to the first matching degree or the second matching degree being less than a preset expected value, as the test results corresponding to the test content data in multiple information flow channels respectively; or, in response to the average value of the first matching degree and the second matching degree being less than a preset expected value, generate an error log in response to the test results corresponding to the test content data in multiple information flow channels respectively.
[0179] In some optional embodiments, the frame data corresponding to multiple information flow channels are stored in the data routing layer; the receiving module 1000 is also used to receive a frame creation operation, which is used to add the frame data corresponding to the specified information flow channel to the data routing layer.
[0180] In some optional embodiments, the rendering module 1020 further includes: The splitting unit 1023 is used to obtain the strings corresponding to the multiple information flow channels respectively based on the splitting operation of the test content data; The rendering module 1020 is further configured to obtain the rendering result of the test content data in the target information stream channel in response to the presence of target identifier information in the string corresponding to the target information stream channel among the plurality of information stream channels.
[0181] In some optional embodiments, the splitting unit 1023 is further configured to obtain candidate fields corresponding to the plurality of information flow channels based on the splitting operation of the test content data; the splitting unit 1023 is further configured to filter the candidate fields corresponding to the plurality of information flow channels and remove invalid fields from the candidate fields corresponding to the plurality of information flow channels; the splitting unit 1023 is further configured to concatenate the candidate fields corresponding to the plurality of information flow channels after removing the invalid fields to obtain the strings corresponding to the plurality of information flow channels.
[0182] In some optional embodiments, the test content data includes video content data; the acquisition module 1010 is further configured to acquire multiple candidate video content data based on the information flow test operation, wherein the multiple candidate video content data are videos stored in the local database of the terminal for rendering tests; the acquisition module 1010 is further configured to perform face recognition analysis on specified video time periods corresponding to the multiple candidate video content data respectively, and obtain face recognition results, wherein the face recognition results are used to indicate the inclusion of face images in the multiple candidate video content data in the specified video time period; the acquisition module 1010 is further configured to determine, based on the face recognition results, the video content data containing face images in the specified video time period from the multiple candidate video content data, wherein the video content data is used to perform face avoidance tests on the recommendation information rendering results of multiple information flow channels in the specified video time period.
[0183] In summary, the testing device for information flow pages provided in this application renders the test content data obtained from information flow testing operations using frame data corresponding to multiple information flow channels, obtaining the rendering results of the test content data in each of the multiple information flow channels, and then obtaining the test results for multiple information flow channels based on the rendering results. Since the frame data corresponding to multiple information flow channels are all encapsulated in the same data routing layer, by triggering one information flow testing operation, the same type of events generated by multiple information flow channels contained in the information flow page can be tested, improving the testing efficiency and coverage of the information flow page.
[0184] It should be noted that the testing device for the information flow page provided in the above embodiments is only an example of the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the testing device and testing method embodiments for the information flow page provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0185] Figure 12 This illustration shows a schematic diagram of a server provided in an exemplary embodiment of this application. The server may be as follows: Figure 3 The server shown here. Specifically, it includes the following structure: Server 1200 includes a Central Processing Unit (CPU) 1201, a system memory 1204 including Random Access Memory (RAM) 1202 and Read Only Memory (ROM) 1203, and a system bus 1205 connecting the system memory 1204 and the CPU 1201. Server 1200 also includes a mass storage device 1206 for storing an operating system 1213, application programs 1214, and other program modules 1215.
[0186] Mass storage device 1206 is connected to central processing unit 1201 via a mass storage controller (not shown) connected to system bus 1205. Mass storage device 1206 and its associated computer-readable media provide non-volatile storage for server 1200. That is, mass storage device 1206 may include computer-readable media (not shown) such as hard disk or compact disc read-only memory (CD-ROM) drives.
[0187] Without loss of generality, computer-readable media can include computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid-state storage technologies, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will recognize that computer storage media are not limited to the above-mentioned types. The system memory 1204 and mass storage device 1206 described above can be collectively referred to as memory.
[0188] According to various embodiments of this application, server 1200 can also be connected to a remote computer on a network, such as the Internet. That is, server 1200 can be connected to network 1215 via network interface unit 1211 connected to system bus 1205, or network interface unit 1211 can be used to connect to other types of networks or remote computer systems (not shown).
[0189] The aforementioned memory also includes one or more programs, which are stored in the memory and configured to be executed by the CPU.
[0190] Embodiments of this application also provide a computer device that can be implemented as follows: Figure 3 The terminal or server shown. The computer device includes a processor and a memory, the memory storing at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, at least one program, code set, or instruction set is loaded and executed by the processor to implement the testing method for the information flow page provided in the above-described method embodiments.
[0191] Embodiments of this application also provide a computer-readable storage medium storing at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, at least one program, code set, or instruction set is loaded and executed by a processor to implement the testing method for the information flow page provided in the above-described method embodiments.
[0192] Embodiments of this application also provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the testing method for the information flow page provided in the above-described method embodiments.
[0193] Optionally, the computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), solid-state drives (SSDs), or optical discs, etc. The random access memory may include resistive random access memory (ReRAM) and dynamic random access memory (DRAM). The sequence numbers of the embodiments in this application are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0194] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0195] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A testing method for an information flow page, characterized in that, The method includes: Receive information flow test operation, the information flow test operation is used to test multiple information flow channels in the information flow page, wherein each of the multiple information flow channels corresponds to frame data, the frame data is data obtained by encapsulating the content display parameters corresponding to the information flow channel; Test content data is obtained based on the information flow test operation. The test content data is used to perform rendering tests on the multiple information flow channels. The test content data includes reference rendering results, which are used to indicate the rendering results that the test content data needs to achieve. The test content data is rendered based on the frame data corresponding to the multiple information flow channels respectively, so as to obtain the rendering results of the test content data in the multiple information flow channels respectively. The rendering result is matched with the reference rendering result to obtain the test result corresponding to the information flow page. The test result is used to indicate abnormal situations when multiple information flow channels in the information flow page display the test content data.
2. The method according to claim 1, characterized in that, The process of rendering the test content data based on the frame data corresponding to the multiple information flow channels to obtain the rendering results of the test content data in the multiple information flow channels includes: Obtain a test script file, which is used to instruct the test items for the multiple information flow channels; Based on the framework data corresponding to the multiple information flow channels and the test items corresponding to the test script files, the test content data is rendered to obtain the rendering results of the test content data in the multiple information flow channels.
3. The method according to claim 2, characterized in that, The process of rendering the test content data based on the framework data corresponding to the multiple information flow channels and the test items corresponding to the test script files, to obtain the rendering results of the test content data in the multiple information flow channels, includes: Based on the framework data corresponding to the multiple information flow channels and the test script file, the multiple information flow channels are used to render the test content data. In response to the end of the rendering phase indicated by the test script file, the rendering results of the test content data in multiple information stream channels are obtained respectively.
4. The method according to any one of claims 1 to 3, characterized in that, The process of rendering the test content data based on the frame data corresponding to the multiple information flow channels to obtain the rendering results of the test content data in the multiple information flow channels includes: The test content data is rendered based on the frame data corresponding to the multiple information flow channels, so as to obtain the rendering coordinates and rendering effects of the test content data in the multiple information flow channels. The step of matching the rendering result with the reference rendering result to obtain the test result corresponding to the information flow page includes: The rendering coordinates of the test content data in multiple information stream channels are matched with the reference rendering coordinates, and the rendering effects of the test content data in multiple information stream channels are matched with the reference rendering effects to obtain the test results of the test content data in multiple information stream channels.
5. The method according to claim 4, characterized in that, The step of matching the rendering coordinates of the test content data in multiple information stream channels with reference rendering coordinates, and matching the rendering effects of the test content data in multiple information stream channels with reference rendering effects to obtain the test results corresponding to the test content data in multiple information stream channels, includes: Calculate the first matching degree between the rendering coordinates of the test content data in multiple information stream channels and the reference rendering coordinates; Calculate the second matching degree between the rendering effect of the test content data in multiple information stream channels and the reference rendering effect; Based on the first matching degree and the second matching degree, the test results corresponding to the test content data in multiple information flow channels are obtained respectively.
6. The method according to claim 5, characterized in that, The step of obtaining test results for the test content data in multiple information flow channels based on the first matching degree and the second matching degree includes: In response to either the first matching degree or the second matching degree being less than a preset expected value, an error log is generated as the test result corresponding to the test content data in multiple information stream channels; or... In response to the fact that the average of the first matching degree and the second matching degree is less than a preset expected value, an error log is generated as the test result corresponding to the test content data in multiple information flow channels.
7. The method according to any one of claims 1 to 3, characterized in that, The framework data corresponding to the multiple information flow channels are stored in the data routing layer; Before the receiving information stream test operation, the following is also included: A frame creation operation is received, which is used to add frame data corresponding to a specified information flow channel in the data routing layer.
8. The method according to any one of claims 1 to 3, characterized in that, The process of rendering the test content data based on the frame data corresponding to the multiple information flow channels to obtain the rendering results of the test content data in the multiple information flow channels includes: Based on the splitting operation of the test content data, the strings corresponding to the multiple information flow channels are obtained respectively; In response to the presence of target identifier information in the string corresponding to the target information stream channel among the plurality of information stream channels, the rendering result of the test content data in the target information stream channel is obtained based on the frame data corresponding to the target information stream channel.
9. The method according to claim 8, characterized in that, The step of obtaining the strings corresponding to the multiple information stream channels based on the splitting operation of the test content data includes: Based on the splitting operation of the test content data, candidate fields corresponding to the multiple information flow channels are obtained respectively; Filter the candidate fields corresponding to the multiple information flow channels respectively, and remove invalid fields from the candidate fields corresponding to the multiple information flow channels respectively; The candidate fields corresponding to the multiple information flow channels after removing the invalid fields are concatenated to obtain the strings corresponding to the multiple information flow channels.
10. The method according to any one of claims 1 to 3, characterized in that, The test content data includes video content data; The process of obtaining test content data based on the information flow test operation includes: Based on the information flow test operation, multiple candidate video content data are obtained. The multiple candidate video content data are videos stored in the local database of the terminal for rendering tests. Face recognition analysis is performed on the specified video time periods corresponding to the multiple candidate video content data to obtain face recognition results. The face recognition results are used to indicate the inclusion of face images in the multiple candidate video content data during the specified video time periods. Based on the face recognition results, video content data containing face images in the specified video time period is determined from the plurality of candidate video content data. The video content data is used to perform face avoidance testing on the recommendation information rendering results of multiple information flow channels in the specified video time period.
11. A testing device for an information flow page, characterized in that, The device includes: The receiving module is used to receive information flow test operations. The information flow test operations are used to test multiple information flow channels in the information flow page. Each of the multiple information flow channels corresponds to frame data. The frame data is data obtained by encapsulating the content display parameters corresponding to the information flow channel. The acquisition module is used to acquire test content data based on the information flow test operation. The test content data is used to perform rendering tests on the multiple information flow channels. The test content data includes reference rendering results, which are used to indicate the rendering results that the test content data needs to achieve. The rendering module is used to render the test content data based on the frame data corresponding to the multiple information flow channels respectively, so as to obtain the rendering results of the test content data in the multiple information flow channels respectively. The processing module is used to match the rendering result with the reference rendering result to obtain the test result corresponding to the information flow page. The test result is used to indicate abnormal situations when multiple information flow channels in the information flow page display the test content data.
12. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one program, which is loaded and executed by the processor to implement the testing method for the information flow page as described in any one of claims 1 to 10.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one piece of program code, which is loaded and executed by a processor to implement the testing method for the information flow page as described in any one of claims 1 to 10.
14. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the testing method for an information flow page as described in any one of claims 1 to 10.