测试之家
  • 社区
  • 问答
  • 招聘
  • 社区学堂新
  • 开源项目
  • 活动
  • Wiki
  • 注册
  • 登录
会员
testjson
第 71977 位会员 / 2022-07-14
28 篇帖子 • 195 条回帖
4 关注者
3 正在关注
22 收藏
未设置 GitHub 信息.
  • 个人信息
  • 专栏
  • 话题
  • 回帖
  • 收藏
  • 关注中
  • 关注者
  • 急,我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位 at 2022年10月21日

    嗯,感谢,已经找前端了,中午帮我看看

  • 急,我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位 at 2022年10月21日

    我们系统的不一样,你定位到直接输入会有弹框,不想办法隐藏弹框,就会把其他元素遮挡无法定位

  • 急,我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位 at 2022年10月20日

    用了这种方法,确实可以,能直接赋值,但我提交的时候,出现了这种情况

  • 急,我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位 at 2022年10月20日

    刚开始没注意你的回复,确实是用这种方式解决的,直接用 js 传值,不触发弹框

  • 急,我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位 at 2022年10月20日
    def keyboard(self,loc):
        self.locator(loc).send_keys(Keys.ENTER)
    
    self.keyboard(self.end_date)
    

    为啥敲击回车的操作不起作用

  • 急,我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位 at 2022年10月20日

    enter 应该有用,我下午试试

  • 急,我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位 at 2022年10月20日

    我开始就是想的这个办法,但是空白页面,怎么点击啊,又没可点击的控件
    我刚试了点页面上其他可点击的控件,日期弹框还是不隐藏

  • 急,我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位 at 2022年10月20日

    js 操作还没试过,输入,我用的就是输入,输入后,日期弹框无法隐藏,主要是这个问题,至于点击,我觉得不太合适,因为日期,万一我以后要选其他日期怎么办?

  • 急,我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位 at 2022年10月20日

    是上面两种不好处理,第三种倒简单了,定位输入框,输入,点击确定就可以搞定

    就这两种控件,输入日期,执行脚本的时候,没法让日期弹框隐藏,遮挡了其他元素的定位
    我刚想了一种办法,就是输入日期后,移动鼠标到输入框外面,然后点击,就可以隐藏日期弹框

    这是封装的移动鼠标的方法

    def move_by_offset(self,x,y):
        self.action.move_by_offset(x,y).perform()
    

    用例里面使用了这个移动鼠标的方法

    self.move_by_offset(100,0)
    

    但是现在的问题是,我怎么在移动鼠标后的位置进行点击
    刚试了在封装移动鼠标的方法后面直接加 click 不行

    def move_by_offset(self,x,y):
           self.action.move_by_offset(x,y).click.perform()
    
  • 我写的显示等待封装,在测试用例里面使用报错 at 2022年10月19日

    我是在,写页面元素对象的页面,引入的 from selenium.webdriver.common.by import By
    元素定位的方式的话,我这也经常用的是 xpath, 但是我没有在 basepage 里去区分定位的方式,而是在这个页面,元素定位的时候加入了定位的方式

    from selenium.webdriver.common.by import By
    from basepage.BasePage import BasePage
    from selenium import webdriver
    import time
    
    class LoginPage(BasePage):
        #页面url
        url = ''
        #页面元素定位
        username = (By.XPATH, '//input[@placeholder="请输入用户名"]')
        password = (By.XPATH, '//input[@placeholder="请输入密码"]')
        #登录业务逻辑
        def login(self,usr,pwd):
            self.open(self.url)
            self.input(self.username,usr)
            time.sleep(2)
            self.input(self.password,pwd)
            time.sleep(2)
    
  • 我写的显示等待封装,在测试用例里面使用报错 at 2022年10月19日

    好的,明白了

  • 我写的显示等待封装,在测试用例里面使用报错 at 2022年10月18日

    我有几个疑问
    1、为啥要用 appium, MobileBy, 因为我这个是 webui 自动化框架,appium 不是搞移动端的吗?
    2、元素定位,xpath, 那要是其他的怎么办?id ,name

    MobileBy.XPATH
    
  • 我写的显示等待封装,在测试用例里面使用报错 at 2022年10月18日

    那应该怎么写?

  • 我写的显示等待封装,在测试用例里面使用报错 at 2022年10月18日

    多谢,现在明白了

  • 我写的显示等待封装,在测试用例里面使用报错 at 2022年10月18日
    selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: 'using' must be a string
    
  • 【自动化测试】绕过登录模块的腾讯云滑块验证码。 at 2022年10月12日

    我刚查了些资料,可以通过 cookie 绕过验证码,似乎也是可行的

  • 写的自动化脚本(UI,接口) at 2022年10月11日

    好的,我再继续把我的框架优化下

  • 【自动化测试】绕过登录模块的腾讯云滑块验证码。 at 2022年10月11日


    楼主,像这种滑块验证,怎么弄

  • 写的自动化脚本(UI,接口) at 2022年10月11日

    嗯,元素定位的方法我写了很多,什么 id,name,等,粘贴的代码只粘贴了一个 xpath 的,确实,我写的时候好多定位都是 xpath, 你说的让脚本脱离代码环境,是说的数据驱动,关键字驱动吗,这个我有考虑做,后面计划是想做成这样

  • 写的自动化脚本(UI,接口) at 2022年10月10日

    还有,帮我看下,我这样写有啥问题吗,我现在感觉这样写,测试用例里面,取定位元素的方式,和值,那块有点繁琐,不知道能不能再优化

    base.find_element(loginpage.username[0],loginpage.username[1]).send_keys(username)
    

    就这一块

  • 写的自动化脚本(UI,接口) at 2022年10月10日

    好了,已经解决了上面的问题了,但是不知道为什么会启动两次浏览器,我再看看

  • 写的自动化脚本(UI,接口) at 2022年10月10日
    def find_element(self, lc, locator,timeout=''):
        """元素定位"""
        if lc == "xpath":
            ele = WebDriverWait(self.driver, timeout=10)\
                .until(EC.visibility_of_element_located((By.XPATH,locator)))
    
    class Login_Page_Locator(BasePage):
        """登录页元素定位"""
        username = ('xpath', '//input[@placeholder="请输入用户名"]')
        password = ('xpath', '//input[@placeholder="请输入密码"]')
        submit = ('xpath','//span[text()="登录"]')
    
    class Test_Login(object):
        loginpage = Login_Page_Locator()
        base = BasePage()
        @allure.story("登录用例")
        @allure.severity(allure.severity_level.BLOCKER)
        def test_login1_normal(self):
            """username and passwd is normal"""
            Logger().info('test_login success')
            try:
                #输入用户名
                self.base.find_element(self.loginpage.username[0],self.loginpage.username[1]).send_keys(username)
            except NoSuchElementException:
                Logger().error('login no find element')
            #assert username == "admin"
            #insert_img("login_normal.png")
    

    为什么我这样写,一直在定位元素

  • 写的自动化脚本(UI,接口) at 2022年10月10日

    嗯是这样的

  • basepage 报这个错,怎么解决,AttributeError: 'tuple' object has no attribute 'send_keys' at 2022年10月09日
    def __find_element__(self, lc, locator):
        """元素定位"""
        if lc == "id":
            #ele = self.driver.find_element(By.ID, locator)
            ele = WebDriverWait(self.driver, 10).until(ec.visibility_of_element_located((By.ID,locator)))
    
        return ele
    

    这样调整了一下,解决了

  • basepage 报这个错,怎么解决,AttributeError: 'tuple' object has no attribute 'send_keys' at 2022年10月09日
    def __find_element__(self, lc, locator):
        """元素定位"""
        if lc == "id":
            ele = self.driver.find_element(By.ID, locator)
            print(type(ele))
            WebDriverWait(self.driver, 10).until(ec.visibility_of_element_located(ele))
    
    <class 'selenium.webdriver.remote.webelement.WebElement'>
    Traceback (most recent call last):
      File "D:/demo_123/basic/page.py", line 48, in <module>
        a.__find_element__('id','kw').send_keys('python')
      File "D:/demo_123/basic/page.py", line 19, in __find_element__
        WebDriverWait(self.driver, 10).until(ec.visibility_of_element_located((ele)))
      File "D:\demo_123\venv\lib\site-packages\selenium\webdriver\support\wait.py", line 81, in until
        value = method(self._driver)
      File "D:\demo_123\venv\lib\site-packages\selenium\webdriver\support\expected_conditions.py", line 125, in _predicate
        return _element_if_visible(driver.find_element(*locator))
    TypeError: find_element() argument after * must be an iterable, not WebElement
    
  • 上一页
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 下一页
  • 关于 / 活跃用户 / 中国移动互联网测试技术大会 / 反馈 / Github / API / 帮助推广
    TesterHome社区,测试之家,由众多测试工程师组织和维护的技术社区,致力于帮助新人成长,提高测试地位,推进质量发展。Inspired by RubyChina
    友情链接 WeTest腾讯质量开放平台 / InfoQ / 掘金 / SegmentFault / 测试窝 / 百度测试吧 / IT大咖说
    简体中文 / 正體中文 / English

    ©testerhome.com 测试之家   渝ICP备2022001292号
      渝公网安备 50022202000435号    版权所有 © 重庆年云聚力信息技术有限公司