模擬滑鼠操作是模擬滑鼠點擊和鍵盤輸入的操作,UI自動化測試中非常實用。在Web UI、App UI、WinApp UI自動化測試講解中藉助Selenium和Appium框架下ActionChains、TouchAction、MouseButton等類已經介紹瞭如何模擬滑鼠和鍵盤操作。本文將為大家介紹 ...
目錄
Rust 開發環境設置
0.1 安裝 rust編譯器及工具鏈
按如下腳本開始安裝
## 配置國內鏡像,提升下載速度
echo "export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static" >> ~/.zshrc
echo "export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup" >> ~/.zshrc
## 配置生效
source ~/.zshrc
## 獲取並執行安裝腳本
## 似乎通過下麵獲取並執行有點慢,使用下麵獲取腳本,並執行來完成
# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs >> rustup.sh
sh rustup.sh
選擇1 執行預設安裝
Current installation options:
default host triple: x86_64-unknown-linux-gnu
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1
直到 Rust is installed now. Great!
表示安裝成功!
## 將下麵命令添加到 shell 啟動文件中,使 Rust 相關命令執行文件生效
source $HOME/.cargo/env
## 查看版本
➜ ~ rustc --version
rustc 1.64.0 (a55dd71d5 2022-09-19)
## 更新到最新版本
➜ ~ rustup update
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: checking for self-updates
stable-x86_64-unknown-linux-gnu unchanged - rustc 1.64.0 (a55dd71d5 2022-09-19)
info: cleaning up downloads & tmp directories
## 卸載 Rust
➜ ~ rustup self uninstall
更多 rustup
相關的使用可查其幫助文檔。
0.2 Cargo
Cargo是Rust 內置的包管理和構建系統 ,在安裝Rust時已經安裝好,查看 cargo 版本
➜ ~ cargo --version
cargo 1.64.0 (387270bc7 2022-09-16)
➜ ~ cargo -V
cargo 1.64.0 (387270bc7 2022-09-16)
Cargo 的使用
- 創建新項目:cargo new
- 編譯:cargo build
- 運行:cargo run
- 更新項目依賴:cargo update
- 執行測試:cargo test
- 生成文檔:cargo doc
- 靜態檢查:cargo check
- cargo clippy: 類似eslint,lint工具檢查代碼可以優化的地方
- cargo fmt: 類似go fmt,代碼格式化
- cargo tree: 查看第三方庫的版本和依賴關係
- cargo bench: 運行benchmark(基準測試,性能測試)
- cargo udeps(第三方): 檢查項目中未使用的依賴
另外 cargo build/run --release 使用 release 編譯會比預設的 debug 編譯性能提升 10 倍以上,但是 release 缺點是編譯速度較慢,而且不會顯示 panic backtrace 的具體行號。
更多Cargo相關的詳情可去 The Cargo Book
構建可執行(Executable)項目
➜ rust git:(master) ✗ cargo new hello --bin
Created binary (application) `hello` package
➜ rust git:(master) ✗ cd hello && tree
.
├── Cargo.toml
└── src
└── main.rs
1 directory, 2 files
➜ hello git:(master) ✗ cargo run
Compiling hello v0.1.0 (/home/jfu/gitee/dev/code/rust/hello)
Finished dev [unoptimized + debuginfo] target(s) in 1.32s
Running `target/debug/hello`
Hello, world!
構建 Library 項目
$ cargo new lib-demo --lib
在後續的實戰練習中詳解。
0.3 vscode 配置 Rust 開發
主要是根據關鍵字 rls 和 Native Debug 安裝這兩個插件
其它推薦插件:
- rust-analyzer:它會實時編譯和分析你的 Rust 代碼,提示代碼中的錯誤,並對類型進行標註。你也可以使用官方的 rust 插件取代。
- rust syntax:為代碼提供語法高亮。
- crates:幫助你分析當前項目的依賴是否是最新的版本。
- better toml:Rust 使用 toml 做項目的配置管理。better toml 可以幫你語法高亮,並展示 toml 文件中的錯誤。
- rust test lens:可以幫你快速運行某個 Rust 測試。
- Tabnine:基於 AI 的自動補全,可以幫助你更快地撰寫代碼。
使用 VScode 上使用LLDB
調試 Rust 程式
LLDB 是一款高性能調試器,更多詳情去 LLDB 瞭解。
C/C++ (Windows)
CodeLLDB (OS X / Linux)
根據開發平臺安裝上述調試插件後,Run > Start Debugging 開啟調試後,自動生成 launch.json
文件,linux 平臺如下:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/<executable file>",
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
在上述配置中的 program
欄位中配置好編譯出的可執行文件路徑即可。
然後在 File > Preferences > Settings
, 輸入 break , 確保勾選 Debug: Allow Breakpoints EveryWhere
,即可在源碼中打斷點。
開啟調試了。
通過如下代碼演示:
fn main() {
let mut x = 5;
x += 2;
let mut y = 37;
let z = y / x;
let w = z + 8 * 4;
}
調試界面如下: