主頁 >  其他 > [1054]Airtest的探索使用

[1054]Airtest的探索使用

2021-10-14 08:06:05 其他

文章目錄

      • Airtest的簡介
      • 關于自動化測驗
      • 市面上常見的UI自動化測驗工具以及優缺點
      • 環境的搭建
      • Android真機連接
        • Android真機USB連接
        • 遠程連接
        • 無線連接
      • 錄制
      • 一個簡單的.air 腳本決議
        • 什么是.air 腳本
        • 初始化環境
        • 設備連接
        • 模擬點擊
      • 安裝包
      • Airtest基本操作方法
        • 多個手機互動
        • case舉例
        • 參考其他air檔案的方法

Airtest的簡介

Airtest是網易出品的一款基于影像識別和poco控制元件識別的一款UI自動化測驗工具,Airtest的框架是網易團隊自己開發的一個影像識別框架,這個框架的祖宗就是一種新穎的圖形腳本語言Sikuli,Sikuli這個框架的原理是這樣的,計算機用戶不需要一行行的去寫代碼,而是用螢屏截屏的方式,用截出來的圖形擺列組合成神器的程式,這是Airtest的一部分,

另外,Airtest也基于poco這個U控制元件搜索框架,這個框架也是網易自家的跨平臺U測驗框架,原理類似于appium,通過控制元件的名稱,id之類的來定位目標控制元件,然后呼叫函式方法,例如click(),swip()之類的方法來對目標控制元件進行點擊或者是操作,

關于自動化測驗

概念:自動化測驗,就是把繁雜的人工測驗用例利用自動化測驗工具撰寫成代碼,讓機器代替人工自動跑用例的程序,實際上就是把以人為驅動的測驗行為轉化為機器執行的一種程序,

意義:節省人力、物力、時間、硬體資源等,提升測驗效率,特別對于繁瑣重復的測驗用例,可以使測驗人員更專注于新的測驗模塊的建立和開發,從而提高測驗覆寫率,

市面上常見的UI自動化測驗工具以及優缺點

以上主流工具的優點跟缺點:

相較于以上工具來說,Airtest有以下優點和缺點:

所以其實基于影像識別的Airtest更適合用于游戲測驗多一點,

環境的搭建

1、AirtestIDE的下載
AirtestIDE已經幫你集成了所有的環境,自帶錄制腳本欄,自動生成腳本,自帶編輯器還自帶模擬器,有了一個AirtestIDE就可以輕松簡單的錄制腳本了,下載地址是Airtest的官網:

http://airtest.netease.com/

AirtestIDE的使用教程跟檔案也在下面的連接中:

https://airtest.doc.io.netease.com/

Android真機連接

使用AirtestIDE對Android應用進行自動化測驗時,第一步就需要連接Android設備,

Android真機連接準備:

  • 請先安裝手機對應品牌的官方驅動,確保能使用電腦對手機進行USB除錯
  • 確保已經打開了手機中的”開發者選項”,并且打開”開發者選項”內的”允許USB除錯”
  • 部分手機需要打開”允許模擬位置”、”允許通過USB安裝應用”
  • 關閉電腦上已經安裝的手機助手軟體,能避免絕大多數問題,請務必在任務管理器中手工結束手機助手行程

Android真機USB連接

gif

  • 請使用USB線連接手機,手機上出現的 允許USB除錯 彈窗點擊 確定,
  • 點擊連接面板中的 refresh ADB 按鈕,設備串列將會重繪,
  • 點擊串列內對應設備的 Connect 完成連接,
  • 若設備未刷出,點擊 refresh ADB 按鈕,

如果遇到連接問題,請查閱Android連接常見問題:https://airtest.doc.io.netease.com/IDEdocs/faq/1_common%20problems/

手機連上Airtest之后,會向手機中安裝2個app,如下:

pocoservice是支撐poco操作的app,yosemite是airtest的輸入法,安裝之后,手機的默認輸入法會變成這個輸入法,如果需要改回來原來的輸入法,需要手動到手機設定里面進行修改;

遠程連接

  • 已知IP和埠的遠程設備 ip:port ,AirtestIDE可以直接連接,
  • 點開設備窗內的 遠程設備連接 按鈕
  • 將 adb connect ip:port 欄位填入填充框內,點擊 連接 按鈕,
  • 遠程設備將出現在設備串列中,點擊 connect 按鈕,

無線連接

參考:使用adb無線連接手機

當手機與電腦處在同一個wifi下,即可嘗試無線連接手機了,但是這種方式受限于網路連接的穩定性,可能會出現連接不夠穩定的情況,具體連接操作步驟如下:

  • 確保手機開啟了USB除錯選項,并先用USB線將手機和電腦連接起來
  • 在電腦端執行命令 adb tcpip 5555 ,其中 5555 是埠號,可以根據自己的需求來指定,5555是默認值
  • 獲取手機的IP地址,可以在 手機設定-關于手機-狀態資訊-IP地址 里找到,也可以執行 adb ifconfig 來查看
  • 隨后可以拔掉USB線,在AirtestIDE的 遠程設備連接 處輸入 adb connect 手機ip:剛才填入的埠號5555 ,點擊連接,重繪ADB后就能在設備串列中看到連上的設備了
  • 如果因為網路波動、重啟ADB等原因導致連接斷開,重新執行一次 adb connect ip:port 即可,

錄制

點擊錄制按鈕,選擇事件進行錄制,可以用滑鼠操作

介紹一下錄制時每一個引數的作用

  • touch(): 點擊操作,根據錄制腳本時所截取的影像進行點擊
  • wait(): 可以等待畫面中某個圖片出現,如果在指定的時間范圍內匹配到了該圖片,就會回傳圖片所處位置的焦點,否則拋出TargetNotFoundError例外
  • swipe():可以從一個位置滑動到另外一個位置
  • exists():判斷畫面中是否存在某個圖片,如果匹配到圖片,回傳圖片所處位置的焦點,否則回傳False
  • text():輸入文本
  • sleep():執行緒掛起
  • assert_exists():斷言圖片存在于當前畫面上
  • assert_not_exists():斷言圖片不存在
  • assert_equal():斷言數值相等
  • assert_not_equal():斷言數值不等
  • assert_exists()與assert_equal()的區別在于,assert_exists斷言的物件是圖片,assert_equal斷言的物件是數值

可以按照需要的引數進行配置

一個簡單的.air 腳本決議

什么是.air 腳本

在下載解壓 Airtest 腳本的專屬 IDE——AirtestIDE 后,點擊 “新建腳本” 按鈕,默認即可創建一個后綴名為.air的腳本檔案,.air這是 Airtest 腳本的專屬后綴,

讓我們打開剛才新建腳本的檔案夾,可以看到實際上.air腳本檔案是一個普通的檔案夾,里面附帶了一個同名的.py檔案,AirtestIDE 在執行腳本時,實際上執行的是里面的.py檔案,也就是說,Airtest 腳本雖然自帶一個后綴名,然而本質上依然是 Python 腳本,遵循的是 Python 語法,我們可以根據實際需要自由地import其他 Python 第三方庫,

值得注意的是,.air檔案夾中必須要有同名的.py檔案,否則在命令列執行airtest run test.air 這樣的運行指令時會導致失敗,

初始化環境

首先,就像一個普通的 Python 腳本一樣,我們需要在代碼檔案的最開頭部分,寫上from airtest.core.api import *,將 Airtest 的主要 API 都 import 進來,以便在后續腳本中使用這些 API,

auto_setup 是一個用來初始化環境的介面,介面檔案在這里,它接受 4 個引數,我們可以設定當前腳本所在的路徑、指定運行腳本的設備、設定默認的 log 路徑和設定腳本父路徑,

  • 如果auto_setup不傳入任何引數的話,Airtest 將會讀取運行時命令列中傳入的各項引數,來對環境進行初始化,
  • 在 AirtestIDE 創建腳本時,默認生成的代碼里是最簡單的初始化代碼auto_setup(__file__),意思是將腳本檔案作為腳本路徑傳入,其他引數內容將默認讀取運行命令列傳入的引數,

腳本運行命令列有兩種形式,命令列中的引數包含devicelog等:

  • 命令列運行 Airtest 腳本的示例:>airtest run untitled.air --device Android:///手機設備號 --log log/
    更多使用命令列運行腳本資訊,請參考檔案,
  • 在使用 AirtestIDE 運行腳本時,會在 “Log 查看窗” 中自動生成一個可用的命令列,可以供大家作為參考,
    "D:\AirtestIDE-path\AirtestIDE" runner "D:\script-path\untitled.air" --device Android://127.0.0.1:5037/5PZTQWQOGES8RWUG --log "C:\Users\username\AppData\Local\Temp\AirtestIDE\scripts\aa8c71acdfa70c3068b862cb42ffb8dc"

設備連接

  • 在運行時的命令列中如果傳入了類似--device Android:///這樣的設備引數,那么腳本在初始化時會自動連上對應的設備,不需要再另外寫代碼連接了,
  • 如果沒有在初始化時連上設備,可以在腳本代碼中使用connect_device介面來連接設備,
  • Airtest 支持在一個腳本里同時連接多個設備,使用set_current介面可以在多個設備中進行切換,device()介面可以獲取到當前使用中的設備,

模擬點擊

Airtest 作為自動化測驗框架,模擬的是人的操作,常見介面主要有:

  • touch 點擊某個位置,可以設定被點擊的位置、次數、按住時長等引數
  • swipe 從一個位置滑動到另外一個位置
  • text 呼叫輸入法輸入指定內容
  • keyevent 輸入某個按鍵回應,例如回車鍵、洗掉鍵
  • wait 等待某個指定的圖片元素出現
  • snapshot 對當前畫面截一張圖
  • 其他

核心 API 請參見這個檔案,在這個檔案頁里出現的 API 都是跨平臺 API,由于我們在代碼的第一行里將airtest.core.api里的介面全部import進來了,因此這些 API 可以在代碼里直接進行呼叫,像這樣:

from airtest.core.api import *
touch((x, y))

在很多介面中,支持傳入Template圖片物件作為引數,在運行時將會去點擊圖片在畫面中的所在位置,類似這樣:

# 等價于 touch((x, y)), (x, y)是圖片所在的中心點
touch(Template(r"tpl1556019871196.png", record_pos=(0.204, -0.153), resolution=(1280, 720)))

其中,Template物件是一個圖片類,Airtest 會先嘗試在當前畫面中尋找能夠匹配這張圖片的位置,如果找到了,將對這個坐標進行點擊操作,如果找不到,將拋出識別例外,我們將在后文對Template圖片類進行更加詳細的介紹,

安裝包

1)使用 pip 安裝Airtest框架 pip install airtest

2)若運行代碼時,在cv2模塊報 ImportError: DLL load failed: 找不到指定模塊 的錯,如果使用的python版本低于3.7,請直接運行:

pip uninstall opencv-contrib-python
# 若以下安裝陳述句運行失敗,可以嘗試更新pip到最新版本后重試
pip install opencv-contrib-python==3.2.0.7

3)Poco安裝

使用 pip 安裝poco框架 pip install pocoui,請注意庫的名稱為 pocoui,不要填錯,

Airtest基本操作方法

除了跨平臺的API還有平臺特定的API,比如:

airtest.core.android #安卓平臺
airtest.core.ios   #蘋果平臺
airtest.core.win   #Windows平臺

這里我們來詳細說說這些模塊,

跨平臺API模塊

這里我們要介紹的第一個就是跨平臺模塊:

from airtest.core.api import * #匯入所有方法

1).初始化設備

這里初始化設備我們也有兩種方案,下面請看:

根據設備的UUID來初始化

語法格式:

init_device(platform='Android',uuid='',cap_method=JAVACAP for Android)
#平臺 – Android,IOS或Windows
#uuid –目標設備的uuid,例如,用于Android的serialno,用于Windows的handle,用于iOS的uuid
#kwargs –可選的平臺特定關鍵字args,例如cap_method = JAVACAP for Android

下面我們來列舉一下實體,如下:

init_device(platform='Android',uuid='127.0.0.1:62001',cap_method='JAVACAP')

根據設備的URL來初始化

語法格式如下:

android:///   連接當前安卓設備
android://adbhost:adbport/serial NO.?cap_method=javacap&touch_method=adb
windows:///    連接本地桌面程式
ios:///     連接IOS設備

這里我們主要是傳入了ADB地址,埠和連接的夜神模擬器的序列號而連接上的,具體例子如下:

connect_device('android://127.0.0.1:5037/127.0.0.1:62001?cap_method=javacap&touch_method=adb')

2).回傳當前活動設備

device()

3).設定當前活動設備

有時候如果我們連接了多個設備,我們需要切換的話,就是用這個函式來達到目的,可以使用設備的索引或者設備的序列號來進行切換哦,

set_current(0)
set_current('127.0.0.1:62001')

4).運行環境配置

auto_setup(basedir = None,devices = None,logdir = None,project_root = None,compress = 0 )
basedir 設定當前腳本的所在位置,__file__也可以,
devices 指定運行腳本的設備以串列形式存在
logdir 設定腳本運行時的日志保存路徑,默認為None,設為True可保存
project_root  設定api的專案根目錄

5).開啟并執行遠程Shell命令

shell(cmd) #ls / data / local / tmp

6).在設備上啟動程式

start_app('啟動的應用程式包名')

7).在設備上停止程式

stop_app('啟動的應用程式包名')

8).清除設備上的應用程式資料

clear_app('啟動的應用程式包名')

9).在設備上安裝應用程式

install(filepath='要在目標設備上安裝的檔案的路徑')

10).在設備上卸載應用程式

uninstall('應用程式包名')

11).截圖并保存到檔案中

snapshot(filename='1.jpg',msg='hello',quality=3)
filename:圖片名
msg:螢屏截圖的簡短描述
quality:影像質量,范圍為[1,99]的整數

12).喚醒并解鎖設備

wake('設備')

13).回傳目標設備的主螢屏

home('設備')

14).設備螢屏上執行點擊,滑動,捏,按鍵,輸入操作

click(v=Template(x,y),times=2) #單擊
v:觸摸目標,可以是Template實體,也可以是絕對坐標(x,y)
times:執行多少次觸摸

double_click() #雙擊
swipe(v1,v2)#滑動起點和終點
swipe(v1,vector=(x,y))#沿向量移動,向量可以是坐標也可以是螢屏百分比
#回傳值:原點位置和目標位置

pinch()#捏操作,相當于縮放,引數如下:
in_or_out:放大或縮小
center:默認為None表示螢屏中心
percent:捏動作的螢屏比例,默認值為0.5 
keyevent(keyname='Home')#按鍵操作

text('文本')#在設備上輸入文本

15).睡眠,等待

sleep(2)#睡眠兩秒,延遲兩秒
wait(v,timeout,interval,intervalfunc)#等待與設備螢屏上的模板匹配
v:等待的目標物件
timeout:超時時間
interval:嘗試找到匹配項的時間間隔(秒)
intervalfunc:在每次未成功嘗試找到相應匹配項后呼叫
回傳值:匹配目標的坐標

16).檢查給定目標在設備螢屏上是否存在

exists(v)
v:檢查物件
如果找不到目標,則為False,否則回傳目標的坐標

17).在設備螢屏上查找所有出現的目標并回傳其坐標

find_all(v)
v:尋找目標
回傳坐標串列

18).斷言操作

assert_exists(v,msg) #斷言目標存在于設備螢屏上
assert_not_exists(v,msg) #斷言目標在設備螢屏上不存在
v:要檢查的目標
msg:斷言的簡短描述

assert_equal(v1,v2,msg) #斷言兩個值相等
assert_not_equal(v1,v2,msg) #斷言兩個值不相等
v1:第一個值
v2:第二個值
msg:斷言的簡短描述

這里基本上我們就把使用方法說完了,下面我們來進行下實際操作,下一篇文章即將奉上,

  • 使用
from airtest.core.api import *
# 通過ADB連接本地Android設備
connect_device("Android:///")
#安裝待測軟體apk,路徑資訊,
install("path/to/your/apk")
#開始運行app
start_app("com.pingan.certicationApp")
#點擊某個圖片,Airtest中基于影像識別語法,圖片自己提供,
touch(Template("image_of_a_button.png"))
#滑動語音,開頭圖片跟結尾圖片
swipe(Template("slide_start.png"), Template("slide_end.png"))
#添加斷言的圖片
assert_exists(Template("success.png"))
#點擊Android上的回傳鍵
#keyevent("BACK")
#點擊Android上的Home鍵回傳
#home()
#uninstall("package_name_of_your_apk")
  • poco樣例
# -*- encoding=utf8 -*-
__author__ = "enmonster"

from airtest.core.api import *

auto_setup(__file__)

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

poco("com.miui.home:id/workspace").offspring("計算器").offspring("com.miui.home:id/icon_icon").click()
poco("com.miui.calculator:id/btn_c_s").click()
poco("com.miui.calculator:id/digit_7").click()
poco("com.miui.calculator:id/op_add").click()
poco("com.miui.calculator:id/digit_5").click()
poco("com.miui.calculator:id/btn_equal_s").click()

poco輔助窗
poco是通過元素本身的屬性來定位元素,常用的API如下:
attr(‘type’):提取指定元素屬性為type的值
get_text(): 提取指定元素的文本內容
attr(‘text’): 通過給定的屬性名檢索ui元素的屬性,如果屬性不存在,則回傳none(屬性有visible、text、type、pos、size、name等)
exists():判斷指定元素是否在當前螢屏上存在,存在true、不存在false
click(): 點擊事件,可使用click(center)、click([0.5,0.5])、focus([0.5,0.5]).click()來點擊控制元件中心位置
rclick():右鍵點擊
double_click():雙擊操作
long_click():長按操作
swipe:滑動事件,如:swipe([0.2, -0.2], duration=1)以45度角滑動,持續1秒鐘
drag:拖拽事件,如:poco(text=‘需要拖動位置’).drag_to(poco(text=‘目標位置’))
focus (local positioning):區域定位,如:poco(‘控制元件地址’).focus(‘center’).click()點擊控制元件中間位置
wait:等待事件,如:poco(‘控制元件地址’).wait(2).click() 控制元件出現就點擊,最多等待2秒

多個手機互動

如果case中涉及到兩個手機互動的,可以在.py檔案中連接多個手機,需要在哪個手機上操作,就需要在腳本中使用set_cerrent()借口來切換到相應的手機上;

device1 = "c17a4cb4" #設備1
device2 = "RKK0217C15003363" #設備2
dev1 = connect_device("android://127.0.0.1:5037/"+device1)#連接設備1
dev2 = connect_device("android://127.0.0.1:5037/"+device2)#連接設備2
poco1 = AndroidUiautomationPoco(dev1) #初始化設備1
poco2 = AndroidUiautomationPoco(dev2) #初始化設備2
set_current(device1)#切換到手機1
set_current(device2)切換到手機2

case舉例

初始化設備之后就可以進行相關設備的poco操作了,舉個例子:

這個例子是打開微信,點擊聊天資訊中的一個好友,然后清除好友聊天的例子;

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
device1 = "c17a4cb4" #設備號
dev1 = connect_device("android://127.0.0.1:5037/"+device1)#連接師傅手機
poco1 = AndroidUiautomationPoco(dev1) #實體化手機
auto_setup(__file__)

  
def clear_wechat(poco):#清除微信的聊天記錄
     start_app("com.tencent.mm")#啟動微信
     sleep(12)#等待12秒
     poco1(text="三星").click()#點擊好友“三星”的聊天
     poco1("android.support.v7.widget.LinearLayoutCompat").click()#點擊更多
     poco1(text="清空聊天記錄").click()#點擊清空聊天記錄
     poco1(text="清空").click()#點擊清空
     stop_app("com.tencent.mm")#關閉微信

參考其他air檔案的方法

如果有很多重復的操作,可以將這些重復的操作寫到一個公用的air檔案里面,然后再在用例里面參考這個公用的air檔案的方法就可以:

舉例,有一個名叫gongyou.air的檔案,里面有一個clear_wechat的方法,這個clear_wechat方法就是一個清除微信聊天記錄的用例,如果需要在用例中用到這個clear_wechat,就需要在用例中參考這個檔案,然后倒入這個參考檔案中的clear_wechat方法,如下:

# -*- encoding=utf8 -*-
__author__ = "xhong"

from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
from poco.exceptions import PocoNoSuchNodeException
from poco.exceptions import PocoTargetTimeout
ST.PROJECT_ROOT = "D:\code\AirtestCase"#參考公用air的路徑
using("gongyou.air")
from gongyou import clear_wechat

參考:https://www.jianshu.com/p/32d08455e86f
https://blog.csdn.net/sunxitao970324/article/details/105731046
http://testerhome.com/topics/20704
https://cloud.tencent.com/developer/article/1819833
https://zhuanlan.zhihu.com/p/165527546
https://blog.csdn.net/chqj_163/article/details/109242399

AirtestIDE連接安卓真機及常見問題:
https://www.cnblogs.com/songzhenhua/p/14716116.html
airtest連接設備黑屏或者運行報錯minicap超時問題:
https://blog.csdn.net/qq_32394351/article/details/112512540

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/312109.html

標籤:其他

上一篇:介面測驗——介面測驗流程

下一篇:python從原始代碼(matplotlib)到加圖形界面(tkinter),最后到制作軟體(一元二次方程軟體)(如何做一個python軟體)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more