请参考我之前的帖子这里
我正在使用 Python selenium 库来自动化 UI 应用程序。它工作正常,但有时我会看到 INTERNALERROR 错误并且一切都会停止。这是我的代码:
@pytest.fixture(scope='class')
def setup(request):
try:
"""
Retrieve secrets from secrets manager
"""
secret_name = "my-secrets"
secret_value = get_secret(secret_name)
print(secret_value)
secret_dict = json.loads(secret_value)
UserName6 = secret_dict.get('UAT_USER_NAME_6')
Password = secret_dict.get('UAT_PASSWORD')
Client = secret_dict.get('UAT_CLIENT1')
Uat_Url = secret_dict.get('BASE_URL_UAT')
TestData_common.user_name6 = UserName6
TestData_common.password = Password
TestData_common.client = Client
TestData_common.Url = Uat_Url
options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument("--window-size=1920,1080")
options.add_argument("--start-maximized")
options.add_argument("--incognito")
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
request.cls.driver = driver
driver.delete_all_cookies()
driver.get(TestData_common.Url)
yield
driver.quit()
except WebDriverException as e:
print('UAT seems to be down...> ', e)
@pytest.mark.usefixtures("setup")
class Test_cpty:
def test_001_login(self):
assert TestData_common.URL_FOUND, " UAT seems to be down..."
print('Successfully clicked AGREE button')
self.loginPage = LoginPage(self.driver)
self.loginPage.do_click_agree_button()
self.driver.maximize_window()
time.sleep(2)
当我运行脚本时,有时会出错为 INTERNALERROR。请参阅下面的堆栈跟踪。
INTERNALERROR> File "C:\Users\myuser\repo\cfn-batch-APP\venv\Lib\site-
packages\_pytest\main.py", line 273, in wrap_session
INTERNALERROR> session.exitstatus = doit(config, session) or 0
INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> File "C:\Users\myuser\repo\cfn-batch-APP\venv\Lib\site-
packages\_pytest\main.py", line 327, in _main
INTERNALERROR> config.hook.pytest_runtestloop(session=session)
我不确定为什么会出现此错误,但它并不总是发生。 我从 AWS 批处理环境运行这个测试套件,很多次(并非总是)它会抛出此错误。有时在本地测试时也是如此。
非常感谢任何帮助。
pytest 中的 INTERNALERROR 通常表示在测试套件执行期间发生了异常,该异常未在测试用例或装置中进行处理。您提供的堆栈跟踪片段并未给出导致错误的确切原因的完整详细信息,因为它显示了 pytest 遇到内部错误的位置而不是根本原因。
您可以执行以下步骤:
此外,请确保装置中的设置和拆卸代码能够正确处理异常。如果抛出未捕获的异常,可能会导致 pytest 失败并出现 INTERNALERROR。