分享用Selenium做Web端企业AI助手自动化测试的方案。适合没有API的AI平台。
核心代码:
code
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import json
class AISearchTester:
def __init__(self):
options = webdriver.ChromeOptions()options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
self.driver = webdriver.Chrome(options=options)
self.results = []
code
def test_doubao(self, query, brand_name):self.driver.get('https://www.doubao.com/chat')
time.sleep(3)
code
# 输入查询
textarea = self.driver.find_element(By.CSS_SELECTOR, 'textarea')textarea.submit()
code
# 等待回答code
answer_el = self.driver.find_elements(By.CSS_SELECTOR, '.message-content')[-1]
answer = answer_el.text
return {'query': query,
'brand_mentioned': brand_name.lower() in answer.lower(),
'answer_length': len(answer),
'answer_preview': answer[:300]
code
}
def run_test_suite(self, queries, brand_name):try:
code
result = self.test_doubao(q, brand_name)print(f'OK: {q[:30]}... -> {"Y" if result["brand_mentioned"] else "N"}')
except Exception as e:
print(f'ERR: {q[:30]}... -> {str(e)[:50]}')
time.sleep(5)
return self.results
code
def save_results(self, filepath):json.dump(self.results, f, ensure_ascii=False, indent=2)
code
def close(self):code
# 使用示例
tester = AISearchTester()
queries = ['哪个获客工具最好用',
'AI内容生成用什么平台'
]
tester.run_test_suite(queries, '你的品牌名')
tester.save_results('test_results.json')
tester.close()
注意事项:
1. 豆包、元宝等平台没有开放API,只能用Selenium模拟
2. 每次查询间隔建议5-10秒
3. 定期更新selector,页面改版后选择器可能失效
4. 建议在服务器上跑headless模式
(场景参考:苏州本地企业试点)