自动化测试本地运行正常但Jenkins执行失败问题求助
Selenium自动化测试Jenkins执行失败(本地运行正常)
我实现了一个基于Page Object模式的Selenium自动化测试,用于验证网站的语言切换功能。该测试在本地环境运行完全正常,但部署到Jenkins执行时出现断言错误,错误信息为:
AssertionError: Test isn't completed: error when trying to change language: expected false to be true
测试源码
test.js
const assert = require('chai').assert; const LanguagePage = require('../PageObjects/LanguagePage'); describe('Language Change Test', function () { this.timeout(120000); it('Verify language change button', async function () { const result = await LanguagePage.performLanguageChange(); assert.isTrue(result, 'Test isn\'t completed: error when trying to change language'); }); after(async function () { await LanguagePage.closeBrowser(); }); });
BasePage.js
const webdriver = require('selenium-webdriver'); const { By } = require('selenium-webdriver'); class BasePage { constructor() { this.driver = new webdriver.Builder().forBrowser('chrome').build(); this.driver.manage().setTimeouts({ implicit: 10000 }); } async goToUrl(url) { return await this.driver.get(url); } async findElementByXPath(path) { return await this.driver.findElement(By.xpath(path)); } async closeBrowser() { return await this.driver.quit(); } } module.exports = BasePage;
LanguagePage.js
const BasePage = require('./BasePage'); class LanguagePage extends BasePage { async performLanguageChange() { try { await this.goToUrl('https://www.mts.by'); const langButton = await this.findElementByXPath('/html/body/div[6]/header/div[1]/div/div/div[2]/div/div/a[2]'); await langButton.click(); const englishButton = await this.findElementByXPath('/html/body/div[6]/header/div[2]/div/div/div[2]/div/button'); const buttonText = await englishButton.getText(); console.log('Button Text:', buttonText); return buttonText === 'Sign In'; } catch (error) { return false; } } } module.exports = new LanguagePage();
验证逻辑与排查尝试
我通过getText()方法获取目标按钮的文本,与"Sign In"做严格对比,以此验证网站是否切换为英文版本。本地运行时该逻辑完全生效,但在Jenkins上执行失败。
我已经尝试过以下排查手段,但问题仍未解决:
- 在
click()和getText()方法前后添加手动延迟 - 用CSS选择器替换绝对XPath(网站的完整XPath与普通XPath一致)
内容的提问来源于stack exchange,提问作者Artyom
相关产品推荐
相关产品推荐

