web自动化测试(三)Selenium+beatuifulsoup
关于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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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.

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).

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.

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.

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.

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.

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.
