自动化测试:忘记括号带来的错误

本文分享了一个在自动化测试中因忽略括号导致的TypeError错误经历。作者在使用Selenium进行自动化测试时,由于在初始化Firefox WebDriver时遗漏了括号,导致代码无法正常运行。通过仔细检查代码,发现并修正了这一错误,提醒读者注意语法细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

早上在写代码,开始学习自动化测试的一些东西,自信满满地开始,结果一点击运行就报错:

Traceback (most recent call last):
  File "D:\AutoTest Study\Eclipse_workspace\pytest1\src\com\carol\testCalc.py", line 15, in testName
    driver.implicitly_wait(10)
TypeError: unbound method implicitly_wait() must be called with WebDriver instance as first argument (got int instance instead)

----------------------------------------------------------------------

可是去代码中查看这一行跟其他的脚本里的没区别啊,语法完全一样的,百度一看也没有看到类似的问题。只能自己一行一行看,看完第一遍再看第二遍,果然发现了问题所在。driver = Firefox这行代码少了括号,立马加上括号点运行,果然成功。一个小括号带来的问题。以后一定要谨记这个错误,不要再犯。

# -*- coding=UTF-8 -*-
'''
Created on Nov 18, 2018

@author: Administrator
'''
import unittest
from selenium.webdriver.firefox.webdriver import WebDriver as Firefox

class Test(unittest.TestCase):


    def testName(self):
        driver = Firefox  #改成:driver = Firefox()
        driver.implicitly_wait(10)
        driver.set_page_load_timeout(30)
        driver.maximize_window()
        
        driver.get("http://localhost/webtest/calc.htm")
        driver.find_element_by_id("btn1").click()
        driver.find_element_by_id("plus").click()
        driver.find_element_by_id("btn2").click()
        driver.find_element_by_id("equal").click()
        second = driver.find_element_by_name("numScreen").get_attribute("value")
        driver.close()
        driver.quit()
        self.assertEqual("3", second)


if __name__ == "__main__":
    #import sys;sys.argv = ['', 'Test.testName']
    unittest.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值