测试人社区

运行python程序时报错

源码:
import configparser
import os
import time
import unittest
import pytest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options

class ISelenium(unittest.TestCase):
# 读入配置文件
def get_config(self):
config = configparser.ConfigParser()
config.read(os.path.join(os.environ[‘HOMEPATH’], ‘iselenium.ini’))
return config

def tearDown(self):
    self.driver.quit()

def setUp(self):
    config = self.get_config()

    # 控制是否采用无界面形式运行自动化测试
    try:
        using_headless = os.environ["using_headless"]
    except KeyError:
        using_headless = None
        print('没有配置环境变量 using_headless, 按照有界面方式运行自动化测试')

    chrome_options = Options()
    if using_headless is not None and using_headless.lower() == 'true':
        print('使用无界面方式运行')
        chrome_options.add_argument("--headless")

    self.driver = webdriver.Chrome(executable_path=config.get('driver', 'chrome_driver'),
                                   options=chrome_options)

def test_webui_1(self):
    """ 测试用例1,验证'今日头条'关键词在百度上的搜索结果
    """

    self._test_baidu('今日头条', 'test_webui_1')

def test_webui6_2(self):
    """ 测试用例2, 验证'王者荣耀'关键词在百度上的搜索结果
    """

    self._test_baidu('王者荣耀', 'test_webui_2')

def _test_baidu(self, search_keyword, testcase_name):
    """ 测试百度搜索子函数

    :param search_keyword: 搜索关键词 (str)
    :param testcase_name: 测试用例名 (str)
    """

    self.driver.get("https://ww.baidu.com")
    print('打开浏览器,访问 www.baidu.com')
    time.sleep(5)
    assert f'百度一下' in self.driver.title

    elem = self.driver.find_element_by_name("wd")
    elem.send_keys(f'{search_keyword}{Keys.RETURN}')
    print(f'搜索关键词~{search_keyword}')
    time.sleep(5)
    self.assertTrue(f'{search_keyword}' in self.driver.title, msg=f'{testcase_name}校验点 pass')

报错:

config.get()函数怎么写的呢?感觉报错是没有找到driver路径导致得

这是直播课程里的源码

全部都在这里了么?

直播老师的环境可能和你自己环境不一样的。
你可能需要把chromedrive.exe保存到HOMEPATH相对应的路径

最简单的解决方法是将executable_path=后改成你chromedrive的路径

ok