selenium python api_python selenium api

您正在考虑使用什么测试框架?这将完全改变您在测试(或整个测试套件)之前/之后运行此逻辑的语法。

其他注意事项:

您要进行哪种类型的测试?

“单元测试”?(quota b / c,您不能*在某个网页的python中进行单元测试) 整合测试 压力/性能测试? 如果您认为Selenium是对Web应用程序的UI进行单元测试的一种方式,则可能需要检查一些JavaScript测试框架。如果您在UI中使用任何 JavaScript,请一定签出一个JavaScript框架。使用JavaScript操纵DOM,并尝试使用Selenium操纵DOM是DOM的巨大竞争条件。

您打算使用Selenium测试什么?

是否理智地检查了UI的按钮是否正确连接? 您的Web应用的业务规则? 我强烈建议您使用Selenium来验证您的Web应用程序中的快乐路径(即,我可以单击此按钮),并且不要测试您的业务规则;锤击API来执行那些业务规则。与UI相比,API更改的可能性较小,并且对UI的更改经常会在Selenium测试(测试中断会导致失败,而不是应用程序中的真正失败)中导致误报。

请不要为此感到气!!您正在编写测试,太棒了!

Selenium是正确使用的好工具,很容易使它过载并最终导致测试不一致(取决于JS的数量和JS框架)。

关于您的代码的指针特别是:

使类可以根据需要进行实例化和绑定-使跨框架的代码更容易使用,调试b / c更容易,您只需打开python解释器并使用它即可。

# file named my_webdriver.py

import sys

import os

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '../..')))

from selenium import webdriver

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

from selenium.common.exceptions import NoSuchElementException

from selenium.webdriver.support.ui import WebDriverWait

class MyDriver():

def __init__(self):

self.driver = webdriver.Firefox()

self.base_url = "www.google.com"

self.driver.implicitly_wait(30)

#self.verificationErrors = [] # delete this line, and deal with errors in the framework

self.accept_next_alert = True

self.driver.maximize_window()

self.reset()

def reset(self):

"""So I can be lazy and reset to a know starting point before each test case"""

self.driver.get(self.base_url)

self.driver.delete_all_cookies()

def teardown(self):

self.driver.quit()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值