Jadual Kandungan
系统架构" >系统架构
Rumah pembangunan bahagian belakang Tutorial Python web自动化测试(三)Selenium+beatuifulsoup

web自动化测试(三)Selenium+beatuifulsoup

Apr 10, 2019 pm 01:14 PM
python ujian web

关于Selenium的自动化测试,函数的使用,网上有太多的基础教程了,我这里就不在一一列举了,大家可以自行参考其他教程或者官方网站。本文中主要探讨一下web自动化测试的方案设计,以及小编个人认为的难点。

系统架构

如下图,在我们后台自动化测试框架的基础上(此图web扩展的部分架构,其他部分涉及到公司保密,没展现在图里面),扩展了selenium,在selenium的基础上扩展了页面对象的设别,引入重试加倍延迟等待时间机制来提高设别成功率。 page action模块里面统一实现了页面动作,一个函数实现了一个动作,保证每个页面动作的独立性,所以如果后面的版本中需要增加不同的执行步骤组合,只需要调用里面的函数即可。

数据获取模块,分了三层,分别是数据库数据获取模块,页面数据获取模块,  web application log的的数据获取模块。通过这种方式可以很容易组织好团队里的各个成员,每个人实现自己最擅长的模块,快速集成。

这里写图片描述

web自动化测试的很大一个需求来源是浏览器的兼容性测试,所以在框架设计上必须考虑如果一次性测试多个浏览器。 博主的方案是对测试用例集放到每个浏览器实例里面,一个浏览一个浏览器的顺序执行。

页面element 的定义与解析

页面元素的定位,一直以来是web自动化测试的一个难点,因为很多公司的web开发者实现的代码并不规范。 尽管如此,大家在实现自动化测试的时候,尽量还是避免使用css, xpath去定义,可读性,维护性太差。尽量使用id, name, class name去定义。对应一些没有id, name, class name的element,尽量试试用find_elements_by_tag_name 然后解析其属性来定位element,或者使用find_element_by_xpath(“..”), find_element_by_xpath(“../..”) 来查找上级或者上上级element。

利用beatuifulsoap 来解析

Beatuifulsoap因为强大的解析功能,被用着很多爬虫说解决方案里面,如果爬虫的功能都能满足,自动化测试的需求当然可以全部满足。博主结合find_element_by_xx(table_id).get_attribute(‘innerHTML’) 和beatuifusoup 在目前所做的项目里面几乎没有遇到不可以解析和定位elements. 比如一定动态的id 或者 name者,先通过beatuifulsoap的模糊匹配,然后通过解析其他属性来定位id或者name的,再调用find_element_by_xx 就可以实现完美的定位方案。 妈妈再也不担心开发人员不写id,或者name值

【推荐课程:Python视频教程

Atas ialah kandungan terperinci web自动化测试(三)Selenium+beatuifulsoup. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Rancangan Python 2 jam: Pendekatan yang realistik Rancangan Python 2 jam: Pendekatan yang realistik Apr 11, 2025 am 12:04 AM

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python: meneroka aplikasi utamanya Python: meneroka aplikasi utamanya Apr 10, 2025 am 09:41 AM

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Apr 08, 2025 pm 09:39 PM

Tidak mustahil untuk melihat kata laluan MongoDB secara langsung melalui Navicat kerana ia disimpan sebagai nilai hash. Cara mendapatkan kata laluan yang hilang: 1. Tetapkan semula kata laluan; 2. Periksa fail konfigurasi (mungkin mengandungi nilai hash); 3. Semak Kod (boleh kata laluan Hardcode).

Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Apr 09, 2025 pm 03:09 PM

Sebagai profesional data, anda perlu memproses sejumlah besar data dari pelbagai sumber. Ini boleh menimbulkan cabaran kepada pengurusan data dan analisis. Nasib baik, dua perkhidmatan AWS dapat membantu: AWS Glue dan Amazon Athena.

Cara memulakan pelayan dengan redis Cara memulakan pelayan dengan redis Apr 10, 2025 pm 08:12 PM

Langkah -langkah untuk memulakan pelayan Redis termasuk: Pasang Redis mengikut sistem operasi. Mulakan perkhidmatan Redis melalui Redis-server (Linux/macOS) atau redis-server.exe (Windows). Gunakan redis-cli ping (linux/macOS) atau redis-cli.exe ping (windows) perintah untuk memeriksa status perkhidmatan. Gunakan klien Redis, seperti redis-cli, python, atau node.js untuk mengakses pelayan.

Cara Membaca Gilir Redis Cara Membaca Gilir Redis Apr 10, 2025 pm 10:12 PM

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Cara melihat versi pelayan Redis Cara melihat versi pelayan Redis Apr 10, 2025 pm 01:27 PM

Soalan: Bagaimana untuk melihat versi pelayan Redis? Gunakan alat perintah Redis-cli -version untuk melihat versi pelayan yang disambungkan. Gunakan arahan pelayan INFO untuk melihat versi dalaman pelayan dan perlu menghuraikan dan mengembalikan maklumat. Dalam persekitaran kluster, periksa konsistensi versi setiap nod dan boleh diperiksa secara automatik menggunakan skrip. Gunakan skrip untuk mengautomasikan versi tontonan, seperti menyambung dengan skrip Python dan maklumat versi percetakan.

Betapa selamatnya kata laluan Navicat? Betapa selamatnya kata laluan Navicat? Apr 08, 2025 pm 09:24 PM

Keselamatan kata laluan Navicat bergantung pada gabungan penyulitan simetri, kekuatan kata laluan dan langkah -langkah keselamatan. Langkah -langkah khusus termasuk: menggunakan sambungan SSL (dengan syarat bahawa pelayan pangkalan data menyokong dan mengkonfigurasi sijil dengan betul), mengemas kini Navicat, menggunakan kaedah yang lebih selamat (seperti terowong SSH), menyekat hak akses, dan yang paling penting, tidak pernah merakam kata laluan.

See all articles