A test method, test apparatus, and computer-readable storage medium
By displaying the login operation interface to obtain and verify login information, and displaying the test operation interface to perform SDK testing, the problem of insufficient coverage and high difficulty in SDK testing in existing technologies is solved, and efficient and comprehensive testing results are achieved.
Patent Information
- Application Number
- CN202210557218.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-20
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2042-05-20
AI Technical Summary
Existing SDK testing methods lack coverage, are difficult to test, have poor visualization and maintainability, and are highly dependent on customer systems.
A testing method is provided that by acquiring a call software development kit (SDK), displaying a login interface, acquiring and verifying login information, including agent access channels, and displaying the corresponding test interface after successful verification, outbound and inbound call tests are performed, thereby achieving full coverage of the functions and status display of the call software development kit.
The SDK testing achieves full functional coverage, reduces the difficulty of troubleshooting, reduces dependence on third-party systems, improves testing efficiency and quality, and saves testing costs.
Smart Images

Figure CN115269373B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of software testing technology, and in particular to a testing method, a testing apparatus, and a computer-readable storage medium. Background Technology
[0002] Common SDK (Software Development Kit) testing methods include detailed analysis of the SDK, method calls, and reading and writing code within the SDK. This may also involve modification. Testers may even need to examine the SDK's source code to determine whether the problem lies with the SDK or the backend code logic, which places high demands on testers.
[0003] Currently, SDK testing is basically done in two ways: one is pure interface verification, and the other is to integrate it into the client's system for testing within the client's system. Both of these testing methods lack sufficient coverage and are overly dependent on the client. Summary of the Invention
[0004] The main technical problem addressed by this application is to provide a testing method, testing apparatus, and computer-readable storage medium that can solve the problems of high testing difficulty, poor visualization, insufficient coverage, and poor maintainability in software testing.
[0005] To solve the above-mentioned technical problems, the first aspect of this application adopts the following technical solution: providing a testing method, the method comprising:
[0006] Obtain the call software development kit; display the login interface based on the call software development kit; obtain the input login information based on the login interface, and verify the login information; wherein, the login information includes at least the agent access channel; after the login information is verified, display the corresponding test interface based on the call software development kit and the agent access channel to test the call software development kit.
[0007] Optionally, the login interface is displayed based on the call software development kit, including:
[0008] Display the version selection interface for the calling software development kit (SDK), and obtain the selected version information based on the version selection interface; determine the version of the calling SSD based on the version information; display the login operation interface corresponding to the version of the SSD.
[0009] Optionally, the login information is verified, including:
[0010] The agent access channel is determined based on the login information; the login information is verified by calling the corresponding interface using the call software development kit based on the agent access channel.
[0011] Optionally, after the login information is verified, the following may also be included:
[0012] The call software development kit (SDK) is used to switch the status of agents corresponding to the agent access channels; and the call software development kit is used to subscribe to event callbacks to display the status of agents.
[0013] Optionally, a corresponding test operation interface is displayed based on the call software development kit and agent access channel to test the call software development kit, including:
[0014] Outbound call testing of the call software development kit is performed based on the test operation interface; and / or inbound call testing is performed based on the call software development kit.
[0015] Optionally, outbound call testing is performed on the call software development kit based on the test operation interface, including:
[0016] In response to receiving a call instruction, the system uses the Call Software Development Kit (CSDK) to create a first session initialization protocol channel between the agent and the server; it uses the CSDK to subscribe to event callbacks and displays the first test status information; it uses the server to create a second session initialization protocol channel between the client and the server, and connects the agent and the client for the call; it uses the CSDK to subscribe to event callbacks and displays the second test status information.
[0017] Optionally, inbound call testing of the call software development kit is performed based on the test operation interface, including:
[0018] In response to receiving an incoming call command, the system uses the server to create a second session initialization protocol channel between the client and the server, and locates a ready agent. It then uses the call software development kit (SDK) subscription event callback to trigger the creation of a first session initialization protocol channel between the ready agent and the server, and connects the agent and the client for the call. Finally, it uses the call software development kit (SDK) subscription event callback to display the second test status information.
[0019] Optionally, the above method further includes:
[0020] Based on the initial protocol channel of the first session, the call software development kit is used to send and receive real-time transmission protocol media with the server.
[0021] To solve the above-mentioned technical problems, the second aspect of this application adopts a technical solution of providing a testing device, which includes a processor and a memory.
[0022] Optionally, the memory is used to store program instructions, and the processor is used to execute the program instructions to implement the above test method.
[0023] To solve the above-mentioned technical problems, one technical solution adopted in the third aspect of this application is to provide a computer-readable storage medium that stores program instructions that can be executed to implement the above-mentioned test method.
[0024] Unlike existing technologies, this application provides a testing method, testing apparatus, and computer-readable storage medium. The method includes: acquiring a call software development kit (SDK); displaying a login interface based on the SSD; acquiring input login information based on the login interface; and verifying the login information; wherein the login information includes at least the agent access channel; after successful login information verification, displaying a corresponding test interface based on the SSD and agent access channel to test the SSD. This method unifies the login verification management of the SSD version and agent access channel, and displays corresponding test interfaces based on the SSD and agent access channel to test the SSD. This integrates the entire data acquisition process, achieves full functional coverage, intuitively displays test status information, reduces troubleshooting difficulty, minimizes intermediate steps, saves testing costs, improves testing efficiency, and efficiently ensures product quality. It also reduces reliance on third-party systems, allowing all testing functions to be completed within the internal testing scope. Attached Figure Description
[0025] 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 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. Wherein:
[0026] Figure 1 This is a flowchart illustrating the first embodiment of the testing method provided in this application;
[0027] Figure 2 This is a diagram of the login operation interface in one embodiment of this application;
[0028] Figure 3 This is a first interface diagram of the test operation interface in one embodiment of this application;
[0029] Figure 4 This is a second interface diagram of the test operation interface in one embodiment of this application;
[0030] Figure 5 yes Figure 1 A flowchart of the S12 process;
[0031] Figure 6 This is a diagram of the version selection interface in one embodiment of this application;
[0032] Figure 7 yes Figure 1 Flowchart of S13;
[0033] Figure 8 yes Figure 1 Flowchart of S14 in China;
[0034] Figure 9 yes Figure 8 Flowchart of S141;
[0035] Figure 10 This is a schematic diagram of the outgoing call test in one embodiment of this application;
[0036] Figure 11 yes Figure 8 Flowchart of S142 in China;
[0037] Figure 12 This is a schematic diagram of the process for performing an incoming call test in one embodiment of this application;
[0038] Figure 13 This is a flowchart illustrating the second embodiment of the testing method provided in this application;
[0039] Figure 14 This is a schematic diagram of the structure of an embodiment of the testing device provided in this application;
[0040] Figure 15 This is a schematic diagram of an embodiment of the computer-readable storage medium provided in this application. Detailed Implementation
[0041] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It is understood that the specific embodiments described herein are only for explaining this application and not for limiting it. Furthermore, it should be noted that, for ease of description, only the parts related to this application are shown in the accompanying drawings, not all structures. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0042] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0043] The steps in the embodiments of this application are not necessarily processed in the order described. The steps can be rearranged, deleted, or added as needed. The step descriptions in the embodiments of this application are only optional combinations of sequences and do not represent all possible combinations of steps in the embodiments of this application. The order of steps in the embodiments should not be considered as a limitation of this application.
[0044] The term "and / or" in the embodiments of this application refers to any and all possible combinations including one or more of the associated listed items. It should also be noted that, when used in this specification, "including / comprising" specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, and / or components and / or groups thereof.
[0045] The terms "first," "second," etc., used in this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0046] In existing technologies, testing teams typically use two methods to test SDKs: one is pure interface verification, and the other is integration into the client's system for testing within a private project. Both of these methods lack sufficient coverage and are overly dependent on the client.
[0047] Based on this, this application proposes a testing method that unifies the login verification management of the call software development kit version and agent access channels, and displays the corresponding test operation interface based on the call software development kit and agent access channels to test the call software development kit. On the one hand, it can cover all functions in a comprehensive and user-friendly interface, and on the other hand, it reduces the dependence on third-party systems, so that all test functions can be completed within the scope of internal testing.
[0048] See Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the testing method provided in this application. The method includes:
[0049] S11: Obtain the call software development kit.
[0050] In this embodiment, the execution entity is defined as a terminal device. In some embodiments, terminal device A is used to develop a call software development kit (SDK), and terminal device B obtains the developed SSD from terminal device A and then tests the SSD.
[0051] Optionally, the software development kit is written in the JavaScript language and is called the JS SDK. The JS SDK is included in the test page by adding the msxfcc-sdk.min.js file to the Script.
[0052] Optionally, a testing system (such as testing software) can be built inside the terminal device. The testing system can be used to obtain multiple versions of the SDK so that functional verification can be performed by switching between different SDK versions.
[0053] S12: Display the login operation interface based on the call software development kit.
[0054] Optionally, the terminal device displays a login interface based on the SDK, such as... Figure 2 As shown, Figure 2 This is a login operation interface diagram in one embodiment of this application. Users can enter information such as username, password, and tenant, and can also select the agent access channel.
[0055] S13: Obtain the input login information based on the login operation interface and verify the login information; wherein, the login information includes at least the agent access channel.
[0056] Optionally, the terminal device obtains the login information entered by the user based on the login operation interface, and the login information includes at least the agent access channel.
[0057] Optionally, based on the agent access channel, the terminal device calls the corresponding method of the SDK, and the SDK calls the corresponding interface to verify the login information.
[0058] S14: After the login information is verified, a corresponding test operation interface is displayed based on the call software development kit and the agent access channel to test the call software development kit.
[0059] Optionally, after successful login verification, the terminal device displays the corresponding test operation interface based on the SDK and agent access channel. The SDK is used to switch the status of the agents corresponding to the agent access channel, and the SDK subscribes to event callbacks to display the agent's status, such as... Figure 3 As shown, Figure 3 This is a first interface diagram of the test operation interface in one embodiment of this application.
[0060] Specifically, after a user successfully logs in, the agent switches status. The test interface calls the SDK's requestChangePresence method, and the SDK sends a WebSocket event named changePresence to the test interface. Once the agent status switch is successful, the SDK receives a WebSocket event from the backend named statusChanged. The SDK then transmits the agent status through the onAgentPresenceChanged event callback. The test interface subscribes to this event and displays it. Here, the agent access channel is a Web agent. After the agent status switch is successful, the test interface displays "Ready".
[0061] Specifically, WebSocket is a protocol for full-duplex communication over a single TCP connection. The WebSocket communication protocol was standardized as RFC 6455 by the IETF in 2011, and further specified by RFC 7936. The WebSocket API is also a W3C standard. WebSocket simplifies data exchange between clients and servers, allowing servers to proactively push data to clients. In the WebSocket API, the browser and server only need to complete a single handshake to establish a persistent connection and perform bidirectional data transmission.
[0062] Optionally, the test interface includes various function test buttons, such as answer, reject, and outbound call buttons, so that users can click the function test buttons to perform corresponding tests on the SDK, such as... Figure 4 As shown, Figure 4 This is a second interface diagram of the test operation interface in one embodiment of this application. After clicking the function test button in the first interface of the test operation interface, the corresponding second interface of the test operation interface is displayed. Users can enter the corresponding process of SDK function test to verify the function of SDK.
[0063] Optionally, during the testing of the SDK, the test operation interface can also obtain test status information and display it in the test operation interface.
[0064] Compared to existing technologies, this embodiment provides a testing method, which includes: acquiring a call software development kit (SDK); displaying a login interface based on the SSD; acquiring input login information based on the login interface and verifying the login information; wherein the login information includes at least the agent access channel; after the login information is verified, displaying a corresponding test interface based on the SSD and the agent access channel to test the SSD. Through this method, the version of the SSD and the agent access channel are uniformly managed for login verification, and the corresponding test interface is displayed based on the SSD and the agent access channel to test the SSD. This integrates the entire data acquisition process, achieves full functional coverage, intuitively displays test status information, reduces the difficulty of troubleshooting, reduces intermediate steps, saves testing costs, improves testing efficiency, and efficiently ensures product quality. It also reduces reliance on third-party systems, allowing all testing functions to be completed within the internal testing scope.
[0065] See Figure 5 , Figure 5 yes Figure 1 The flowchart of S12 is shown in the figure. S12 may also include:
[0066] S121: Display the version selection interface for calling the software development kit, and obtain the selected version information based on the version selection interface.
[0067] Optionally, the terminal device displays an SDK version selection interface, such as... Figure 6 As shown, Figure 6 This is a version selection interface diagram in one embodiment of this application, where users can click to enter different SDK version demo pages.
[0068] Optionally, in response to a click command, the terminal device obtains the selected version information.
[0069] S122: Determine the version of the call software development kit based on the version information.
[0070] S123: Display the login interface corresponding to the version of the software development kit.
[0071] Optionally, the terminal device determines the SDK version based on the version information, initializes an SDK instance for the corresponding version environment, calls the public API for querying the tenant, and calls the authorize method. The system verifies authorization and obtains the tenant's basic information.
[0072] Optionally, after determining the SDK version, the terminal device displays a login interface corresponding to that SDK version.
[0073] See Figure 7 , Figure 7 yes Figure 1 The flowchart of S13 is shown in the figure. S13 may also include:
[0074] S131: Determine the agent access channel based on the login information.
[0075] Optionally, the agent access channels may include web agents, SIP agents, and mobile agents.
[0076] S132: Based on the agent access channel, the corresponding interface is called using the call software development kit to verify the login information.
[0077] Optionally, for web agent login, the test page calls the SDK's login method, and the SDK calls the test page's login interface / api / v1 / login for login verification.
[0078] Optionally, for SIP agent login, the test page calls the SDK's loginThird method. The SDK calls the test page's interface / api / v1 / loginThird, selects the registered SIP phone, and performs login verification.
[0079] Optionally, for mobile agent login, where a mobile number has been bound before logging in, the test page calls the SDK's login method, and the SDK calls the test page's interface / api / v1 / login for login verification.
[0080] See Figure 8 , Figure 8 yes Figure 1 The flowchart of S14 is shown in the figure. S14 may also include:
[0081] S141: Perform outgoing call testing on the call software development kit based on the test operation interface.
[0082] S142: Perform inbound call testing on the call software development kit based on the test operation interface.
[0083] Optionally, the test operation interface can include multiple function buttons to perform various tests, such as outbound call tests and inbound call tests of the SDK. Outbound call tests can be performed first, followed by inbound call tests, or only one test can be performed. The test content can be set according to actual needs, and no specific limitations are made here.
[0084] See Figure 9 , Figure 9 yes Figure 8 The flowchart of S141 is shown in the figure. S141 may also include:
[0085] S1411: In response to receiving a call instruction, a first session initiation protocol channel is created between the agent and the server using the call software development kit.
[0086] S1412: Use the call software development kit to subscribe to event callbacks to display the first test status information.
[0087] S1413: Use the server to create a second session initiation protocol channel between the client and the server, and connect the agent and the client for a call.
[0088] S1414: Use the call software development kit to subscribe to event callbacks to display the second test status information.
[0089] like Figure 10 As shown, Figure 10 This is a flowchart illustrating outbound call testing in one embodiment of this application. The outbound call testing will be described in detail below based on Web agent and SIP agent.
[0090] Specifically, Freeswitch is a softswitch solution for telephony, comprising a softphone and a softswitch to provide voice and chat functionality. Freeswitch can be used as a switch engine, PBX, multimedia gateway, and multimedia server, among other things.
[0091] Specifically, the Session Initialization Protocol (SIP) is a multimedia communication protocol developed by the IETF (Internet Engineering Task Force). It is a text-based application-layer control protocol used to create, modify, and release sessions of one or more participants. SIP is an IP voice session control protocol originating from the Internet, characterized by its flexibility, ease of implementation, and scalability.
[0092] Specifically, the Real-time Transport Protocol (RTP) is a network transport protocol that details the standard data packet format for transmitting audio and video over the Internet. Originally designed as a multicast protocol, it has since been used in many unicast applications. RTP is commonly used in streaming media systems (in conjunction with RTSP), video conferencing, and push-to-talk systems (in conjunction with H.323 or SIP), making it the technological foundation of the IP telephony industry.
[0093] Optionally, for agents accessing via a web agent, when the web agent clicks "make call," the SDK calls the `makeCall` method, passes in the call number to initiate the call. After returning `MAKE_CALL_SUCCESS` (call successfully initiated), Freeswitch initiates a WebSocket-based SIP long connection with the logged-in agent test interface via the `originate` command. Freeswitch sends an `invite` message to the SDK, and the SDK returns 200, indicating that the first SIP channel between the agent and the server was successfully established. Through this first SIP channel, the agent and SDK can interact with SIP signaling. Furthermore, within this first SIP channel, the SDK can send and receive RTP media with the media server (Freeswitch) via the browser's WebRTC protocol. After creating the first SIP channel, the test interface subscribes to the `onCallStateChanged` event callback via the SDK and returns the first test status information `MANUAL_PRE_CALL` to the front end of the test interface for display through another WebSocket long connection established with the browser. Next, Freeswitch initiates an invite message with the client, and the client returns a 200 response, indicating that the second SIP channel between the client and the server has been successfully established. Freeswitch then bridges the call between the agent and the client, enabling normal communication. The SDK then subscribes to the onCallStateChanged event callback and displays the second test status information, Manual_CALL (in call), at the front end of the test interface.
[0094] Optionally, for SIP agents, when the SIP agent clicks "outbound call," the SDK calls the `sipPhoneCallOut` method. Upon success, Freeswitch initiates a call with the logged-in agent via the `originate` command. Freeswitch sends an `invite` message to the SIP phone, which returns a 200 response indicating successful creation of the first SIP channel between the agent and the server. Through this first SIP channel, the agent (FS) and the SIP phone can exchange SIP signaling via UDP. Simultaneously, within this first SIP channel, the SIP phone and the media server (Freeswitch) exchange RTP media via UDP. While creating the first SIP channel, the SDK subscribes to the `onCallStateChanged` event callback, establishing a WebSocket long connection with the browser and returning the first test status information `MANUAL_PRE_CALL` to the front end of the test interface for display. Then, Freeswitch initiates an `invite` message with the client, which returns a 200 response indicating successful creation of the second SIP channel between the client and the server. Freeswitch bridges the call between the SIP agent and the client, enabling normal communication. The SDK then subscribes to the onCallStateChanged event callback to return the second test status information, Manual_CALL (in call), which is displayed on the front end of the test operation interface.
[0095] See Figure 11 , Figure 11 yes Figure 8 The flowchart of S142 is shown in the figure. S142 may also include:
[0096] S1421: In response to receiving an incoming call instruction, the client creates a second session initiation protocol channel between the client and the server using the server, and locates a ready agent.
[0097] S1422: Using the call software development kit to subscribe to the event callback, trigger the creation of the first session initiation protocol channel between the ready agent and the server, and connect the agent and the client for a call.
[0098] S1423: Use the call software development kit to subscribe to event callbacks to display the second test status information.
[0099] like Figure 12 As shown, Figure 12 This is a flowchart illustrating the inbound call test in one embodiment of this application. The inbound call test will be described in detail below based on Web agent, SIP agent, and mobile agent.
[0100] Optionally, for agents accessing via a web agent, once the web agent is logged in and ready, the client initiates an inbound call. The client sends an `invite` message to Freeswitch, and Freeswitch returns a 200 response indicating that the second SIP channel between the client and the server has been successfully established. Freeswitch sends a `find_agent` event to locate agents in a ready state. The SDK subscribes to the `onCallStateChanged` event callback. After receiving an incoming call `WAITING_FOR_ANSWER` via `Call_type=manual`, the `onCallStateChanged` event triggers Freeswitch to initiate a long-lived SIP connection with the logged-in agent via the `originate` command using WebSocket. Freeswitch sends an `invite` message to the SDK, and the SDK returns a 200 response indicating that the first SIP channel between the agent and the server has been successfully established. Through this first SIP channel, the FS and SDK can interact with SIP signaling. Furthermore, within this first SIP channel, the SDK uses the browser's WebRTC protocol to send and receive RTP media with the media server (Freeswitch). Freeswitch bridges the call between the agent and the client, enabling normal communication between the two parties. The SDK then subscribes to the onCallStateChanged event callback to return the second test status information, Manual_CALL (in call), which is displayed on the front end of the test operation interface.
[0101] Optionally, for SIP agents, once the SIP agent is logged in and ready, the client initiates an inbound call. The client sends an `invite` message to Freeswitch, and Freeswitch returns 200 indicating that the second SIP channel between the client and the server has been successfully established. Freeswitch sends a `find_agent` event to locate agents in the ready state. The SDK subscribes to the `onCallStateChanged` event callback. After receiving an incoming call `WAITING_FOR_ANSWER` via `Call_type=manual`, the `onCallStateChanged` event triggers Freeswitch to initiate a call command with the logged-in agent via the `originate` command. Freeswitch sends an `invite` message to the SIP phone, and the SIP phone returns 200 indicating that the first SIP channel between the agent and the server has been successfully established. Through the first SIP channel, the FS and the SIP phone can exchange SIP signaling via UDP protocol. Furthermore, within the first SIP channel, the SIP phone and the media server (Freeswitch) exchange RTP media via UDP protocol. Freeswitch bridges the call between the agent and the client, enabling normal communication between the two parties. The SDK then subscribes to the onCallStateChanged event callback to return the second test status information, Manual_CALL (in call), which is displayed on the front end of the test operation interface.
[0102] Optionally, for agents accessing via mobile phones, once the mobile agent is logged in and the client initiates an inbound call, the client sends an `invite` message to Freeswitch. Freeswitch returns a 200 status code indicating that the second SIP channel between the client and the server has been successfully established. Freeswitch sends a `find_agent` event to locate agents in the ready state. The SDK subscribes to the `onCallStateChanged` event callback. After receiving an incoming call `WAITING_FOR_ANSWER` via `Call_type=manual`, the `onCallStateChanged` event triggers Freeswitch to initiate a transfer to the external mobile phone via the `originate` command. Freeswitch bridges the call between the mobile phone and the client, enabling normal communication. The SDK then subscribes to the `onCallStateChanged` event callback again, returning the second test status information `Manual_CALL` (in call) for display on the front end of the test interface.
[0103] See Figure 13 , Figure 13This is a flowchart illustrating the second embodiment of the testing method provided in this application.
[0104] In this embodiment, a test system is built internally within the terminal device, eliminating the need for integration into the customer system for testing. After creating a test operation interface, the terminal device's test system loads and initializes the SDK, followed by event binding. On one hand, manual triggering based on the test operation interface allows for testing of SDK functions such as login / logout, manual outbound calls, call transfer, and conference monitoring, ensuring normal communication of signaling and media streams at the communication layer. On the other hand, the SDK is used for event subscription, allowing subscription to system status, agent status, and phone status, maintaining the variability of system, agent, and phone statuses and the consistency of status across different channels.
[0105] In this embodiment, the SDK version and agent access channels are managed in a unified manner, and the SDK functions are designed with visualization. It supports basic calling functions such as manual outbound calls, inbound calls, call transfers, three-way calls, and conference calls. It also provides event subscription management for agent (user) status and call status, as well as extended calling functions such as user management and monitoring management. Because the operation and testing interface is easy to use, it can be used not only to test the SDK but also to test basic functions, which improves testing efficiency and reduces the difficulty of troubleshooting.
[0106] See Figure 14 , Figure 14 This is a schematic diagram of an embodiment of the testing device provided in this application. The testing device 200 includes a processor 201 and a memory 202.
[0107] Specifically, memory 202 is used to store program instructions, and processor 201 is used to execute the program instructions to implement the methods provided by any one or any non-conflicting combination of the above embodiments.
[0108] Optionally, processor 201 is a central processing unit (CPU), one of the main devices in an electronic computer and a core component of the computer. Its main functions are interpreting computer instructions and processing data in computer software. The CPU is the core component in a computer responsible for reading, decoding, and executing instructions. The central processing unit mainly consists of two parts: the control unit and the arithmetic logic unit (ALU), which also includes high-speed cache memory and the data and control buses that connect them. The main functions of the central processing unit are processing instructions, executing operations, controlling timing, and processing data. In computer architecture, the CPU is the core hardware unit that controls and allocates all hardware resources (such as memory and input / output units) of the computer and performs general-purpose calculations. The CPU is the core of the computer's arithmetic and control. All software layer operations in a computer system are ultimately mapped to CPU operations through the instruction set.
[0109] Optionally, the memory 202 is a read-only memory (ROM) or random access memory (RAM), which is a memory device in a computer system, mainly used to store programs and data. All information in the computer, including raw input data, computer programs, intermediate running results, and final running results, is stored in the memory. It stores and retrieves information according to the location specified by the controller.
[0110] Optionally, the testing device 200 further includes a display screen for displaying various operation interfaces and various test status information during the testing of the call software development kit. The testing device 200 may be a terminal device as described in any of the above embodiments.
[0111] See Figure 15 , Figure 15 This is a schematic diagram of an embodiment of a computer-readable storage medium 300 provided in this application. The computer-readable storage medium 300 includes program instructions 301, which can be executed to implement the methods provided in any one or any non-conflicting combination of the above embodiments. The capacity of the computer-readable storage medium 300 is sufficient to store the program instructions 301.
[0112] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-readable storage media 300 (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0113] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by a computer-readable storage medium 300. These computer-readable storage media 300 can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that program instructions 301, executable by the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0114] These computer-readable storage media 300 may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to function in a particular manner, such that program instructions 301 stored in the computer-readable storage media 300 produce an article of manufacture including instruction means implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0115] These computer-readable storage media 300 can also be loaded onto a computer or other programmable data processing apparatus, causing a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing program instructions 301 that execute on the computer or other programmable apparatus for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0116] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural changes made based on the description and drawings of this application, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A test method characterized by, The method comprises: obtaining a call software development kit; displaying a login operation interface based on the call software development kit; obtaining input login information based on the login operation interface, and verifying the login information; wherein the login information at least includes an agent access channel, the login information is verified by calling a method in the call software development kit corresponding to the agent access channel, and the call software development kit calls a corresponding interface implementation; after the login information is verified, displaying a corresponding test operation interface based on the call software development kit and the agent access channel to test the call software development kit.
2. The method of claim 1, wherein: the call software development kit is displayed based on the login operation interface, comprising: displaying a version selection interface of the call software development kit, and obtaining selected version information based on the version selection interface; determining the version of the call software development kit based on the version information; displaying a login operation interface corresponding to the version of the software development kit.
3. The method of claim 1, wherein: the login information is verified, comprising: determining the agent access channel based on the login information; verifying the login information by calling a corresponding interface of the call software development kit based on the agent access channel.
4. The method of claim 1, wherein: after the login information is verified, further comprising: switching the state of an agent corresponding to the agent access channel by using the call software development kit; and displaying the state of the agent by subscribing to event callbacks using the call software development kit.
5. The method of claim 1, wherein: the call software development kit is tested based on the call software development kit and the agent access channel, comprising: making an outgoing call test on the call software development kit based on the test operation interface; and / or making an incoming call test on the call software development kit based on the test operation interface.
6. The method of claim 5, wherein: the call software development kit is tested based on the test operation interface, comprising: in response to obtaining an outgoing call instruction, creating a first session initiation protocol channel between an agent terminal and a server by using the call software development kit; displaying first test state information by subscribing to event callbacks using the call software development kit; creating a second session initiation protocol channel between a client and the server by using the server, and connecting a call between the agent terminal and the client; displaying second test state information by subscribing to event callbacks using the call software development kit.
7. The method of claim 5, wherein: the call software development kit is tested based on the test operation interface, comprising: In response to obtaining the incoming instruction, a second session initiation protocol channel between the client and the server is created by the server, and a ready agent end is found; An event callback is subscribed by the call software development kit, triggering a first session initiation protocol channel between the ready agent end and the server to be created by the server, and a call between the agent end and the client is connected; A second test state information is displayed by the call software development kit based on the event callback.
8. The method of claim 6 or 7, wherein, The method further comprises: Real-time transport protocol media is exchanged between the call software development kit and the server based on the first session initiation protocol channel.
9. A test device, characterized in that The test device comprises a processor and a memory, the memory is configured to store program instructions, and the processor is configured to execute the program instructions to implement the method of any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that, The memory has stored program instructions that can be executed to implement the method of any one of claims 1 to 8.
Citation Information
Patent Citations
Incoming call routing method, device and system for call center
CN108933871A
Multi-environment multi-channel multi-version simulation test method and device
CN112988572A