草庐IT

pytest-selenium

全部标签

Python3 + pytest + pytest 模拟 : Mocks leaking into other test functions breaking assertions?

注意:有关我的设置(python版本、模块等)的所有详细信息都列在问题底部。如果这个问题很明显,请提前致歉,但我已经为此苦苦挣扎了好几天。希望有人可以阐明一些新的观点。我正在为我的个人项目从unittest->pytest转换单元测试。以前我使用的是内置的unittest.mock模块,但现在我正在尝试使用pytest-mock插件。我有一种潜移默化的感觉,我的测试正在将模拟对象泄漏到彼此中。原因如下:高级细节:#PythonversionPython3.5.2#Pytestversion(andplugins)pytest==3.0.7pytest-benchmark==3.1.0a

python - OSX 10.11 上的 Headless Selenium + Xvfb + Chrome

好吧,首先我了解到Xvfb没有包含在我的OSX版本中,所以我从http://www.xquartz.org/安装了它.这似乎奏效了:whichxvfb/opt/X11/bin/xvfb但是当我尝试将它与pyvirtualdisplay和xvfbwrapper一起使用时,遵循我在这个问题上找到的建议HowdoIrunSeleniuminXvfb?我的脚本运行没有错误,但只是在Chrome浏览器窗口中打开:fromseleniumimportwebdriverfrompyvirtualdisplayimportDisplaydisplay=Display(visible=0,size=(8

python - OSX 10.11 上的 Headless Selenium + Xvfb + Chrome

好吧,首先我了解到Xvfb没有包含在我的OSX版本中,所以我从http://www.xquartz.org/安装了它.这似乎奏效了:whichxvfb/opt/X11/bin/xvfb但是当我尝试将它与pyvirtualdisplay和xvfbwrapper一起使用时,遵循我在这个问题上找到的建议HowdoIrunSeleniuminXvfb?我的脚本运行没有错误,但只是在Chrome浏览器窗口中打开:fromseleniumimportwebdriverfrompyvirtualdisplayimportDisplaydisplay=Display(visible=0,size=(8

python - Selenium chromedriver 2.25 TimeoutException 无法确定加载状态

我在macos上使用python3,我已经将chrome、chromedriver和selenium更新到最新版本。我遇到了TimeoutException,浏览器可以正确打开,但它死机了。>>>fromseleniumimportwebdriver>>>driver=webdriver.Chrome()#opensbrowserwithblankpage>>>driver.get('http://example.com')#getsfirstpageOKandthendriverliterallyflashesonce>>>driver.get('http://stackoverfl

python - Selenium chromedriver 2.25 TimeoutException 无法确定加载状态

我在macos上使用python3,我已经将chrome、chromedriver和selenium更新到最新版本。我遇到了TimeoutException,浏览器可以正确打开,但它死机了。>>>fromseleniumimportwebdriver>>>driver=webdriver.Chrome()#opensbrowserwithblankpage>>>driver.get('http://example.com')#getsfirstpageOKandthendriverliterallyflashesonce>>>driver.get('http://stackoverfl

python - Selenium ChromeDriver 无法识别新编译的 Headless Chromium(Python)

我正在尝试将新的(2016)headless版本的Chromium与Selenium/ChromeDriver一起使用(过去,我将Firefox与xfvb一起使用,但这有望好得多)。我根据找到的说明从源代码(我没有找到任何预构建的二进制文件)编译了一个headless版本的Chromiumhere然后我使用以下代码通过Selenium启动它:fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptionsl_option=Options()l_option.add_argument('headle

python - Selenium ChromeDriver 无法识别新编译的 Headless Chromium(Python)

我正在尝试将新的(2016)headless版本的Chromium与Selenium/ChromeDriver一起使用(过去,我将Firefox与xfvb一起使用,但这有望好得多)。我根据找到的说明从源代码(我没有找到任何预构建的二进制文件)编译了一个headless版本的Chromiumhere然后我使用以下代码通过Selenium启动它:fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptionsl_option=Options()l_option.add_argument('headle

python - pytest 在辅助函数中断言自省(introspection)

pytest做的很棒assertintrospection所以很容易找到字符串中的差异,尤其是当差异在空白处时。现在我使用一个稍微复杂的测试助手,我在许多测试用例中重复使用它。助手也有自己的模块,我想为该模块添加断言内省(introspection)。helpers.py:...defmy_helper():assert'abcy'=='abcx'test_mycase.py:from.helpersimportmy_helperdeftest_assert_in_tc():assert'abcy'=='abcx'deftest_assert_in_helper():my_helper

python - pytest 在辅助函数中断言自省(introspection)

pytest做的很棒assertintrospection所以很容易找到字符串中的差异,尤其是当差异在空白处时。现在我使用一个稍微复杂的测试助手,我在许多测试用例中重复使用它。助手也有自己的模块,我想为该模块添加断言内省(introspection)。helpers.py:...defmy_helper():assert'abcy'=='abcx'test_mycase.py:from.helpersimportmy_helperdeftest_assert_in_tc():assert'abcy'=='abcx'deftest_assert_in_helper():my_helper

selenium三种等待方式 (强制等待、隐式等待、显示等待)

​ 方式一:强制等待time.sleep(n)#单位:秒复制代码程序表现:强制暂停程序运行,等待n秒后继续执行后续代码演示代码:time.sleep(3)driver.find_element(By.ID,"kw").send_keys("华测教育")复制代码方式二:隐式等待driver.implicitly_wait(n)#单位:秒复制代码程序表现:每当driver执行动作时,暂停程序直到满足driver执行条件;若暂停时间超出设置的时间n秒,则触发异常备注:隐式等待为全局配置,设置一次即可演示代码:driver=webdriver.Chrome()driver.implicitly_wai