微信小程序自動化測試-----clickElementByXpath,isElementExist和異常處理

clickElementByXpath方法

    def clickElementByXpath(self, xpath, visibleItemXpath=None, byUiAutomator=False):
        """
        默認滑動點爲屏幕的中心,且邊距爲整個屏幕。當有container時,傳入container中任意一個當前可見item的xpath,之後會將目標滑到該可見item的位置
        :param xpath: 要滑動到屏幕中控件的xpath
        :param visibleItemXpath: container中當前可見的一個xpath
        :return:
        """
        self.logger.info('xpath ---> ' + xpath)
        if self.isElementExist(xpath):
            # self.scrollToElementByXpath(xpath, visibleItemXpath)          #zx08443  目前不需要,暫時關閉這個功能

            sendStr = self._pageOperator.getElementRect(xpath)
            self._networkHandler.send(sendStr)

            x = self._getRelativeDirectionValue('x')
            y = self._getRelativeDirectionValue('y')
            self.logger.debug('clickElementByXpath x:' + str(x) + '  y:' + str(y))

            if not byUiAutomator:
                clickCommand = self._pageOperator.clickElementByXpath(x, y)
                return self._networkHandler.send(clickCommand)
            else:
                xPx, yPx = self.changeDp2Px(x, y)
                self.d.click(xPx, yPx)
        # 加了else語句,如果元素不存在,則直接拋異常,不繼續執行用例。
        else:
            self.WebSocketConnectionClosedException("對不起,該元素未抓取到,請您查看當前頁面元素位置是否有變動!")

有疑問的加V:zx1187463903

異常的處理。
或者直接在用例裏面這樣判斷,如果該元素存在,則繼續執行,否則拋出異常,用例執行結束。

        if self.wxDriver.isElementExist('XXXXXX'):
            pass
        else:
            self.wxDriver.WebSocketConnectionClosedException("對不起,當前元素不存在!")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章