Heim  >  Artikel  >  Backend-Entwicklung  >  Anweisungen zum Cross-Browser-Testen von Python-Multithread-Selenium

Anweisungen zum Cross-Browser-Testen von Python-Multithread-Selenium

PHPz
PHPzOriginal
2017-04-02 13:36:131368Durchsuche

Bei Webtests ist ein Browserkompatibilitätstest ein unvermeidlicher Test. Vor dem automatisierten Testen hatten wir immer Schwierigkeiten, N Browser auf einem oder mehreren Computern zu installieren und dann den Hauptgeschäftsprozess und die wichtigsten Funktionsmodulfunktionen im Browser manuell zu überprüfen, um sie zu erkennen ob unsere Webanwendung auf verschiedenen Browsern oder verschiedenen Browserversionen normal funktionieren kann.

Sehen wir uns an, wie man mit Python Selenium automatisierte browserübergreifende Tests durchführt.

Was ist browserübergreifendes Testen?

Browserübergreifendes Testen ist ein Zweig des Funktionstests, um zu überprüfen, ob Webanwendungen auf verschiedenen Browsern ordnungsgemäß funktionieren.

Warum browserübergreifende Tests erforderlich sind

Normalerweise erwarten wir alle, dass Webanwendungen von unseren Benutzern in jedem Browser verwendet werden können. Manche Leute nutzen zum Beispiel gerne den IE, um die Open-Source-Website Utest zu öffnen, andere wiederum bevorzugen Firefox oder Chrome.

Wir hoffen, dass unser Websystem in jedem Browser normal funktioniert, um mehr Benutzer für die Nutzung zu gewinnen.

Die Hauptursache für die Notwendigkeit browserübergreifender Tests ist:

Die Schriftgröße stimmt in verschiedenen Browsern nicht überein

Die Implementierung von javascrpit ist unterschiedlich

CSS- und HTML-Überprüfung ist unterschiedlich

Einige Browser oder niedrigere Versionen unterstützen kein HTML5

Probleme mit der Seitenausrichtung und der Div-Größe

Bildposition oder Größenprobleme

Kompatibilitätsprobleme zwischen Browsern und Betriebssystemen

Die oben genannten Aspekte wirken sich nicht nur auf das Layout aus, sondern können sogar dazu führen, dass die Funktion nicht verfügbar ist, daher müssen wir browserübergreifende Tests durchführen.

So führen Sie browserübergreifende Tests durch

Wenn wir Selenium Webdriver verwenden, können wir Testfälle automatisch auf verschiedenen Browsern wie IE, Firefox, Chrome usw. ausführen.

Um Testfälle gleichzeitig in verschiedenen Browsern auf demselben Computer auszuführen, benötigen wir Multithreading-Technologie.

Im Folgenden versuchen wir, mehrere Browser gleichzeitig zu starten, um automatisierte Selenium-Tests basierend auf der Multithreading-Technologie von Python durchzuführen.

#-*- coding:utf-8 -*-
 
author = u'苦叶子'
 
from selenium import webdriver
import sys
from time import sleep
from threading import Thread
 
reload(sys)
sys.setdefaultencoding("utf-8")
 
def test_baidu_search(browser, url):
  driver = None
  # 你可以自定义这里,添加更多浏览器支持进来
  if browser == "ie":
    driver = webdriver.Ie()
  elif browser == "firefox":
    driver = webdriver.Firefox()
  elif browser == "chrome":
    driver = webdriver.Chrome()
 
  if driver == None:
    exit()
 
  print u"开始[case_0001]百度搜索"
  driver.get(url)
 
  print u"清除搜索中数据,输入搜索关键词"
  driver.find_element_by_id("kw").clear()
  driver.find_element_by_id("kw").send_keys(u"开源优测")
 
  print u"单击 百度一下 按钮 开始搜索"
  driver.find_element_by_id("su").click()
  sleep(3)
 
  print u"关闭浏览器,退出webdriver"
  driver.quit()
 
 
if name == "main":
  # 浏览器和首页url
  data = {
    "ie":"http://www.baidu.com",
    "firefox":"http://www.baidu.com",
    "chrome":"http://www.baidu.com"
    }
 
  # 构建线程
  threads = []
  for b, url in data.items():
    t = Thread(target=test_baidu_search,args=(b,url))
    threads.append(t)
 
  # 启动所有线程
  for thr in threads:
    thr.start()

Führen Sie den obigen Code aus und Sie werden feststellen, dass alle drei Browser mit der Suche auf Baidu beginnen. Ist das nicht interessant? Natürlich ist das Obige nur eine einfache Demonstration, und es müssen immer mehr praktische Möglichkeiten erforscht werden.

Dieser Artikel demonstriert zunächst die Verwendung der Python-Multithreading-Technologie zum Starten mehrerer Browser für gleichzeitige Selenium-Automatisierungstests. Anhand dieses Beispiels sollten Sie tiefergehende Kenntnisse erlernen und geeignetere Lösungen basierend auf dem tatsächlichen Geschäft aussortieren Testen. Automatisiertes Testen von Geschäftsszenarien.

Was die umfassendere Nutzung von Selen zur Durchführung von Kompatibilitätstests betrifft, so bedarf es noch eingehender Forschung und Erkundung, um die Funktionen von Selen wirklich sinnvoll nutzen zu können.

Das obige ist der detaillierte Inhalt vonAnweisungen zum Cross-Browser-Testen von Python-Multithread-Selenium. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn