Appium python自動化テストシリーズの自動化スクリーンショット(十一)

2372 ワード

11.1スクリーンショット関数の正常な使用


11.1.1スクリーンショット方法


手動テストでも自動化テストでもシーンの再現は常に重要なことであり、いくつかの問題が再現しにくい場合があります.これはテスト担当者がバグに対して高い感度を持つ必要があります.一般的には良いテスト習慣も重要です.バグを発見したらすぐにスクリーンショットし、そんなに気にしないでください.テストのスクリーンショットを自動化する方法を見てみましょう.
1、save_screenshot(). この方法のユーザーは最も直接driver.save_screenshot('test.png')では、現在の画面のスクリーンショットを直接取得して保存していますが、ディレクトリを指定できないのではないかという疑問があるかもしれません.もちろんいいですが、次のような別のスクリーンショット方法が必要です.
2、get_screenshot_as_file(filename)の使い方は上と少し違いますが、フォルダdriverを指定する必要があります.get_screenshot_as_file('png/test.png').
スクリーンショットの方法はこの2つがよく使われていますが、他の使用は少ないので、ここでは説明しません.興味があれば、1つはバイナリで、1つはbase 64の形式で取得されています.

11.2タイムスタンプによるエラーピクチャの名前付け


11.2.1タイムスタンプ命名画像


ここを見ている人は分からないかもしれませんが、なぜタイムスタンプで命名する必要があるのか、実はこれは私たちの最終的な目的ではありません.他の画像は见つからないで、これは私达の设计の时の思考に合わないで、だから私达は异なる方式で行く必要があって、明らかにタイムスタンプは1つの悪くない选択で、间违いさえすれば、私达は図を切って、その上またすべての図の名前が异なっていることを保证することができて、とてもnbを感じて、はは、冗谈を言います.
タイムスタンプで命名されている以上、まずタイムスタンプを取得する方法が必要です.それをカプセル化するには、これを呼び出す場所が多いので、カプセル化します.
 
import time
def getTime(self):
  tamp = int(time.time())
  return tamp

上記の方法は、呼び出しのたびに現在のタイムスタンプを取得できる戻り関数を使用して、タイムスタンプを取得する方法です.次に、実際にタイムスタンプをスクリーンショット方法に使用する方法を見てみましょう.
import time    
  # , 
  def getTime(self):
    tamp = int(time.time())
    filename = '../jpg/ %s.png' %tamp
    self.driver.get_screenshot_as_file(filename)

上のコードを見るのは簡単ではないでしょうか.でも、一つの問題を考えたことがありますか.どう思いますか.どう思いますか.続いて下を見る.

11.3スクリーンショット機能のパッケージ


11.3.1スクリーンショット機能パッケージ実戦


上のコードはますますひねくれて、はは、私もそう思っています.次に、スクリーンショット機能の実際のパッケージを見てみましょう.実は上と差は多くありません.ただ、一つの習慣を身につける必要があります.できるだけ同じ機能を一つの方法にパッケージする必要があります.so、以下のようにします.
import time
  # 
  def getScreenShot(self):
    time = self.getTime()
    filename = '../jpg/ %s.png' %time
    self.driver.get_screenshot_as_file(filename)
    
        
  # 
  def getTime(self):
    tamp = int(time.time())
    return tamp

  
これを見ると少しはいいのではないでしょうか.実はこれは入門としか言えませんが、実際のプロジェクトでは私たちはいったいどのようにしていますか.みんなで考えてみよう.
私は上のコードがぼやけているのを見て、いつもこのdriverがどこから来たのか感じます.また忘れたのかな?return driverを覚えていますか?
ヒント:実際のプロジェクトでは、私たちのスクリーンパッケージは一般的に私たちの現在のcaseと関係があり、基本的にcaseに従って命名されています.そうすれば、画像ページでこの画像がどこで間違っているのかを一目瞭然に指導することができます.試してみましょう.
 
転載先:https://www.cnblogs.com/Mushishi_xu/p/7766969.html