|
12 | 12 | # See the License for the specific language governing permissions and |
13 | 13 | # limitations under the License. |
14 | 14 |
|
| 15 | +import asyncio |
15 | 16 | import re |
16 | 17 | from pathlib import Path |
17 | 18 | from typing import Dict, List |
18 | 19 |
|
19 | | -from playwright.async_api import Browser, BrowserContext, BrowserType, Page |
| 20 | +from playwright.async_api import Browser, BrowserContext, BrowserType, Page, Response |
20 | 21 | from tests.server import Server |
21 | 22 | from tests.utils import get_trace_actions, parse_trace |
22 | 23 |
|
@@ -145,6 +146,35 @@ async def test_should_collect_trace_with_resources_but_no_js( |
145 | 146 | assert script["snapshot"]["response"]["content"].get("_sha1") is None |
146 | 147 |
|
147 | 148 |
|
| 149 | +async def test_should_correctly_determine_sync_apiname( |
| 150 | + context: BrowserContext, page: Page, server: Server, tmpdir: Path |
| 151 | +) -> None: |
| 152 | + await context.tracing.start(screenshots=True, snapshots=True) |
| 153 | + |
| 154 | + received_response: "asyncio.Future[None]" = asyncio.Future() |
| 155 | + |
| 156 | + async def _handle_response(response: Response) -> None: |
| 157 | + await response.request.all_headers() |
| 158 | + await response.text() |
| 159 | + received_response.set_result(None) |
| 160 | + |
| 161 | + page.once("response", _handle_response) |
| 162 | + await page.goto(server.PREFIX + "/grid.html") |
| 163 | + await received_response |
| 164 | + await page.close() |
| 165 | + trace_file_path = tmpdir / "trace.zip" |
| 166 | + await context.tracing.stop(path=trace_file_path) |
| 167 | + |
| 168 | + (_, events) = parse_trace(trace_file_path) |
| 169 | + assert events[0]["type"] == "context-options" |
| 170 | + assert get_trace_actions(events) == [ |
| 171 | + "Page.goto", |
| 172 | + "Request.all_headers", |
| 173 | + "Response.text", |
| 174 | + "Page.close", |
| 175 | + ] |
| 176 | + |
| 177 | + |
148 | 178 | async def test_should_collect_two_traces( |
149 | 179 | context: BrowserContext, page: Page, server: Server, tmpdir: Path |
150 | 180 | ) -> None: |
|
0 commit comments