51Testing软件测试论坛

标题: 在做查询封装的时候,运行代码,浏览器启动了三次,页面对象层出现无法启动 [打印本页]

作者: 测试积点老人    时间: 2022-7-27 13:17
标题: 在做查询封装的时候,运行代码,浏览器启动了三次,页面对象层出现无法启动
在做查询封装的时候,运行代码,浏览器启动了三次,页面对象层出现selenium.common.exceptions.WebDriverException: Message: chrome not reachable
base层的代码
  1. import unittest
  2. from time import sleep
  3. from selenium import webdriver
  4. from pywinauto import Desktop
  5. from pywinauto.keyboard import send_keys
  6. from selenium.webdriver import ActionChains
  7. from selenium.webdriver.common.by import By
  8. from selenium.webdriver.common.keys import Keys
  9. from selenium.webdriver.support import expected_conditions as Ec
  10. from selenium.webdriver.support.wait import WebDriverWait
  11. from selenium.webdriver.support.select import Select
  12. class BasePage:
  13. definit(self):
  14. global browser
复制代码
# 声明浏览器对象化
  1. self.browser = webdriver.Chrome()
复制代码
# 设置等待时间
  1. browser = self.browser
复制代码
# 加载网页
  1. self.browser.get('http://127.0.0.1/index.php/Admin/Admin/login')
复制代码
#定位元素的关键字
  1. def locator_element(self,loc=(By.NAME, 'username')):
  2. return self.browser.find_element(*loc)
复制代码
#设置值的关键字
  1. def send_keys(self,loc,value):
  2. self.locator_element(loc).send_keys(value)
复制代码
#单击的关键字
  1. def click_up(self,loc):
  2. self.locator_element(loc).click()
复制代码
#点击商城
  1. def click_shop(self,loc):
  2. self.locator_element(loc).click()
  3. def exit_to_frame(self):
  4. self.browser.switch_to.default_content()
  5. def go_to_frame(self,frame_name):
复制代码
#进入框架
  1. browser.switch_to.frame(frame_name)
复制代码
#封装下拉框关键字
  1. def encapsulation_choice(self,loc,value):
  2. sel = Select(self.locator_element(loc))
  3. sel.select_by_index(value)
  4. def look_up(self,loc):
  5. self.locator_element(loc).click()
复制代码
#获取文本值
页面对象层
  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. from selenium.webdriver.support.select import Select
  4. from 练习.base.base_page import BasePage
  5. from 练习.pageproject.login_page import LoginPage
  6. class ProductManage_page(BasePage):
复制代码
#页面元素
  1. product_list_loc = (By.LINK_TEXT,'商城')
  2. cat_id_loc = (By.NAME, 'cat_id')
  3. botton_loc = (By.CLASS_NAME, 'btn')
复制代码
#页面动作 登录
  1. def select_product(self):
  2. sign_in = LoginPage()
  3. sign_in.login_ecshop()
复制代码
# 点击商城
  1. self.click_shop(ProductManage_page.product_list_loc)
复制代码
# 退出框架
  1. self.exit_to_frame()
复制代码
# 进入框架
  1. self.go_to_frame('workspace')
  2. # 选取下拉框元素
  3. self.encapsulation_choice(ProductManage_page.cat_id_loc,'7')
  4. # 点击查询
  5. self.look_up(ProductManage_page.botton_loc)
  6. PM=ProductManage_page()
  7. PM.select_product()
复制代码



作者: qqq911    时间: 2022-7-28 10:49
权限问题?
作者: 郭小贱    时间: 2022-7-28 13:49
这个不清楚了。
作者: bellas    时间: 2022-7-28 14:01
管理员权限试试呢
作者: jingzizx    时间: 2022-7-28 17:07
是不是乱了
作者: jingzizx    时间: 2022-7-28 17:07
是不是乱了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2