收藏
回答

minitest测试框架上传图片怎么实现?

点击上传的'+'后,打开本地的文件地址,定位不到。键盘操作也无效。试了下mock_choose_image()方法,没有反应

回答关注问题邀请回答
收藏

2 个回答

  • 七斗
    七斗
    03-20

    谢啦,现在环境挂了一直试不了,急死了。等环境好了,试完了,我再回来回复一下

    03-20
    有用
    回复
  • 电光幻影
    电光幻影
    03-20
        """上传大图操作"""
        def choose_img_single(self):
        
            """只能传本地的图片,将图片放在"data\\picture"路径下,先调用该方法,再模拟点击上传图片操作"""
            file_Path = Path(f'{os.path.abspath(__file__)}')
            curPath = os.path.abspath(os.path.dirname(os.path.dirname(file_Path)))
            image_path = os.path.join(curPath, "data\\picture").replace("\\", "/")
        
            try:
                with open(os.path.join(image_path, "singleImg.png"), "rb") as fd:
                    c = fd.read()
                    image_b64data = base64.b64encode(c).decode("utf8")
                ret = self.mini.app.mock_choose_image("singleImg.png", image_b64data)
        
                res = self.mini.app.get_modals()
        
            except IndexError:
                self.mini.logger.info("没有监听到toast")
    
    这是我封装的方法,把图片路径换一下,先调用该方法,再模拟点击上传图片操作
    


    03-20
    有用
    回复 4
    • 七斗
      七斗
      03-21
      python调用多一层地址。第一张图是python调用的截图,第二张图是手动上传的截图。现在被小程序的前端校验住了。item.tempFilePath.split('.')[1],在想有什么方法能把.MINIUN_TMP这一层去掉
      03-21
      回复
    • 电光幻影
      电光幻影
      03-21回复七斗
      不需要自己拿tempFilePath,你只要把图片保存在本地,通过mock_choose_image传进去,就可以了,看我封装的方法
      03-21
      回复
    • 七斗
      七斗
      发表于移动端
      03-21回复电光幻影
      我用了你的方法也是一样,它调用到微信小程序后就是这样。现在是新的问题。图片上传成功了,但是我点提交的时候,卡在前端的检验了。因为我们前端的判断取得split取的1,我改成2。就能提交成功。但是相当于为了测试,改了小程序的代码了。感觉只能这样了,用完,我再改回去
      03-21
      回复
    • 七斗
      七斗
      04-02
      我发现如果先上传图片,再做其他的操作的话,不生效。是为啥呀,是不是用完上传图片的方法,有个啥关闭的方法需要调用下。如下图所示,我如果先上传图片,再输入单价的话,就输入不进去,也不报错,感觉像是默认已经输入完成。如果先输入单价,再上传图片就没问题
      04-02
      回复
登录 后发表内容