def cameraExposureBracketIterativeCaptureMaxResolution(self, lens,run_time): try: self.appPrepare() self.camera.startCameraApp() self.camera.selectMode("Burst") self.camera.switchRearOrFront(lens) self.camera.setExposureBracket() resolution = self.camera.getAllPhotoResolutions(lens)[1] self.camera.setPhotoResolution(resolution, lens) CameraCommon().clickScreenCenter() self.error_msg = "" for i in range(int(run_time)): self.logger.debug("======loop %d ======" %(i+1)) self.camera.capturePhoto() time.sleep(1) self.checkFileCorrupt() fileNameList = CameraCommon().getFileName(self.camera_dir) print fileNameList iamge1 = self.host_path + "/" + fileNameList[0] iamge2 = self.host_path + "/" + fileNameList[1] iamge3 = self.host_path + "/" + fileNameList[2] image1_b = self.checkImage.brightness(iamge1) image2_b = self.checkImage.brightness(iamge2) image3_b = self.checkImage.brightness(iamge3) info1 = CameraCommon().getExifInfo(fileNameList[0], self.host_path + "/") info2 = CameraCommon().getExifInfo(fileNameList[1], self.host_path + "/") info3 = CameraCommon().getExifInfo(fileNameList[2], self.host_path + "/") ec1 = info1.get("Exposure Compensation") ec2 = info2.get("Exposure Compensation") ec3 = info3.get("Exposure Compensation") print ec1, ec2, ec3 self.logger.debug("Exposure Compensation check,pic1 is %s,pic2 is %s, pic3 is %s" %(str(ec1),str(ec2),str(ec3))) if ec1 != "-5": self.error_msg = self.error_msg + "first picture Exposure Compensation can't match -5;" os.system("cp " + iamge1 + " " + g_common_obj.get_user_log_dir()) if ec2 != "0": self.error_msg = self.error_msg + "second picture Exposure Compensation can't match 0;" os.system("cp " + iamge2 + " " + g_common_obj.get_user_log_dir()) if ec3 != "5": self.error_msg = self.error_msg + "third picture Exposure Compensation can't match 5;" os.system("cp " + iamge3 + " " + g_common_obj.get_user_log_dir()) if not self.checkImage.compare_images_brightness(iamge1, iamge2): self.error_msg = self.error_msg + "-1 compare 0 exposure check fail," + \ "-1(" + iamge1 + ") brightness=" + str(image1_b) + ", 0(" + iamge2 + ") brightness=" + str(image2_b) + "; " os.system("cp " + iamge1 + " " + g_common_obj.get_user_log_dir()) os.system("cp " + iamge2 + " " + g_common_obj.get_user_log_dir()) if not self.checkImage.compare_images_brightness(iamge2, iamge3): self.error_msg = self.error_msg + "0 compare 1 exposure check fail," + \ "0(" + iamge2 + ") brightness=" + str(image2_b) + ", 1(" + iamge3 + ") brightness=" + str(image3_b) + "; " os.system("cp " + iamge2 + " " + g_common_obj.get_user_log_dir()) os.system("cp " + iamge3 + " " + g_common_obj.get_user_log_dir()) CameraCommon().removeDeivceFile() CameraCommon().clickScreenCenter() if self.error_msg == "": self.logger.debug("exposure check successful") else: self.assertTrue(False, self.error_msg) except Exception as e: CameraCommon().checkCameraCrash() self.assertTrue(False, e)
def cameraExposureBracketEXIF(self, lens): try: self.appPrepare() self.camera.startCameraApp() self.camera.selectMode("Burst") self.camera.switchRearOrFront(lens) self.camera.setExposureBracket() self.camera.capturePhoto() self.checkFileCorrupt() fileNameList = CameraCommon().getFileName(self.camera_dir) print fileNameList iamge1 = self.host_path + "/" + fileNameList[0] iamge2 = self.host_path + "/" + fileNameList[1] iamge3 = self.host_path + "/" + fileNameList[2] image1_b = self.checkImage.brightness(iamge1) image2_b = self.checkImage.brightness(iamge2) image3_b = self.checkImage.brightness(iamge3) info1 = CameraCommon().getExifInfo(fileNameList[0], self.host_path + "/") info2 = CameraCommon().getExifInfo(fileNameList[1], self.host_path + "/") info3 = CameraCommon().getExifInfo(fileNameList[2], self.host_path + "/") ec1 = info1.get("Exposure Compensation") ec2 = info2.get("Exposure Compensation") ec3 = info3.get("Exposure Compensation") print ec1,ec2,ec3 self.error_msg = "" if ec1 != "-5": self.error_msg = self.error_msg + "first picture Exposure Compensation can't match -5;" os.system("cp " + iamge1 + " " + g_common_obj.get_user_log_dir()) if ec2 != "0": self.error_msg = self.error_msg + "second picture Exposure Compensation can't match 0;" os.system("cp " + iamge2 + " " + g_common_obj.get_user_log_dir()) if ec3 != "5": self.error_msg = self.error_msg + "third picture Exposure Compensation can't match 5;" os.system("cp " + iamge3 + " " + g_common_obj.get_user_log_dir()) if not self.checkImage.compare_images_brightness(iamge1, iamge2): self.error_msg = self.error_msg + "-1 compare 0 exposure check fail," + \ "-1(" + iamge1 + ") brightness=" + str(image1_b) + ", 0(" + iamge2 + ") brightness=" + str(image2_b) + "; " os.system("cp " + iamge1 + " " + g_common_obj.get_user_log_dir()) os.system("cp " + iamge2 + " " + g_common_obj.get_user_log_dir()) if not self.checkImage.compare_images_brightness(iamge2, iamge3): self.error_msg = self.error_msg + "0 compare 1 exposure check fail," + \ "0(" + iamge2 + ") brightness=" + str(image2_b) + ", 1(" + iamge3 + ") brightness=" + str(image3_b) + "; " os.system("cp " + iamge2 + " " + g_common_obj.get_user_log_dir()) os.system("cp " + iamge3 + " " + g_common_obj.get_user_log_dir()) if self.error_msg == "": self.logger.debug("exposure check successful") else: self.assertTrue(False, self.error_msg) except Exception as e: CameraCommon().checkCameraCrash() self.assertTrue(False, e)