test: puppeteer
This commit is contained in:
parent
40de7c111a
commit
97607f5079
|
|
@ -1,6 +1,5 @@
|
|||
import { describe, expect, it, jest, afterEach } from '@jest/globals';
|
||||
import wait from '../../lib/utils/wait';
|
||||
import puppeteer from '../../lib/utils/puppeteer';
|
||||
import { type Browser } from 'puppeteer';
|
||||
|
||||
let browser: Browser | null = null;
|
||||
|
|
@ -24,6 +23,7 @@ afterEach(() => {
|
|||
|
||||
describe('puppeteer', () => {
|
||||
it('puppeteer run', async () => {
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer();
|
||||
const startTime = Date.now();
|
||||
const page = await browser.newPage();
|
||||
|
|
@ -45,6 +45,7 @@ describe('puppeteer', () => {
|
|||
|
||||
if (!process.env.GITHUB_ACTIONS) {
|
||||
it('puppeteer without stealth', async () => {
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer({ stealth: false });
|
||||
const page = await browser.newPage();
|
||||
await page.goto('https://bot.sannysoft.com', { waitUntil: 'networkidle0' });
|
||||
|
|
@ -57,6 +58,7 @@ describe('puppeteer', () => {
|
|||
}, 15000);
|
||||
|
||||
it('puppeteer with stealth', async () => {
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer({ stealth: true });
|
||||
const page = await browser.newPage();
|
||||
await page.goto('https://bot.sannysoft.com', { waitUntil: 'networkidle0' });
|
||||
|
|
@ -71,16 +73,17 @@ describe('puppeteer', () => {
|
|||
it('puppeteer accept http proxy uri w/ auth', async () => {
|
||||
process.env.PROXY_URI = 'http://user:pass@rsshub.proxy:2333';
|
||||
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer();
|
||||
|
||||
// trailing slash will cause net::ERR_NO_SUPPORTED_PROXIES, prohibit it
|
||||
console.log(browser.process()?.spawnargs);
|
||||
expect(browser.process()?.spawnargs.some((arg) => /^--proxy-server=http:\/\/.*[^/]$/.test(arg))).toBe(true);
|
||||
});
|
||||
|
||||
it('puppeteer reject https proxy uri w/ auth', async () => {
|
||||
process.env.PROXY_URI = 'https://user:pass@rsshub.proxy:2333';
|
||||
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer();
|
||||
|
||||
expect(browser.process()?.spawnargs.some((arg) => arg.includes('--proxy-server'))).toBe(false);
|
||||
|
|
@ -89,6 +92,7 @@ describe('puppeteer', () => {
|
|||
it('puppeteer reject socks proxy uri w/ auth', async () => {
|
||||
process.env.PROXY_URI = 'socks5://user:pass@rsshub.proxy:2333';
|
||||
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer();
|
||||
|
||||
expect(browser.process()?.spawnargs.some((arg) => arg.includes('--proxy-server'))).toBe(false);
|
||||
|
|
@ -99,6 +103,7 @@ describe('puppeteer', () => {
|
|||
process.env.PROXY_HOST = 'rsshub.proxy';
|
||||
process.env.PROXY_PORT = '2333';
|
||||
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer();
|
||||
|
||||
expect(browser.process()?.spawnargs.some((arg) => /^--proxy-server=http:\/\/rsshub.proxy:2333$/.test(arg))).toBe(true);
|
||||
|
|
@ -109,6 +114,7 @@ describe('puppeteer', () => {
|
|||
process.env.PROXY_HOST = 'rsshub.proxy';
|
||||
process.env.PROXY_PORT = '2333';
|
||||
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer();
|
||||
|
||||
expect(browser.process()?.spawnargs.some((arg) => /^--proxy-server=https:\/\/rsshub.proxy:2333$/.test(arg))).toBe(true);
|
||||
|
|
@ -119,6 +125,7 @@ describe('puppeteer', () => {
|
|||
process.env.PROXY_HOST = 'rsshub.proxy';
|
||||
process.env.PROXY_PORT = '2333';
|
||||
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer();
|
||||
|
||||
expect(browser.process()?.spawnargs.some((arg) => /^--proxy-server=socks4:\/\/rsshub.proxy:2333$/.test(arg))).toBe(true);
|
||||
|
|
@ -129,6 +136,7 @@ describe('puppeteer', () => {
|
|||
process.env.PROXY_HOST = 'rsshub.proxy';
|
||||
process.env.PROXY_PORT = '2333';
|
||||
|
||||
const { default: puppeteer } = await import('../../lib/utils/puppeteer');
|
||||
browser = await puppeteer();
|
||||
|
||||
expect(browser.process()?.spawnargs.some((arg) => /^--proxy-server=socks5:\/\/rsshub.proxy:2333$/.test(arg))).toBe(true);
|
||||
|
|
|
|||
Loading…
Reference in New Issue