অবশেষে, আমি একটি স্ক্রিপ্ট লিখেছিলাম যা সিমুলেটারের .plist ফাইল সম্পাদনা করে এবং সেট করে ConnectHardwareKeyboard
নির্বাচিত সিমুলেটারের জন্য সম্পত্তিটিকে মিথ্যাতে । আপনি এটি ঠিক শুনেছেন, এটি বিশ্বব্যাপী সম্পত্তি সম্পাদনা করার পরিবর্তে "ডিভাইসপ্রাইফারেন্স" অভিধানের ভিতরে নির্দিষ্টভাবে নির্বাচিত সিমুলেটারের সম্পত্তি পরিবর্তন করে।
প্রথমে নীচের বিষয়বস্তুগুলির সাথে অক্ষম -শারওয়্যার-কিবোর্ড.শ নামের একটি শেল স্ক্রিপ্ট তৈরি করুন । আপনি এটিকে "আপনারপ্রজেক্ট / এক্সজিউইআইটিএস / স্ক্রিপ্টস /" এর মধ্যে রাখতে পারেন:
echo "Script: Set ConnectHardwareKeyboard to false for given Simulator UDID"
if [[ $1 != *-*-*-*-* ]]; then
echo "Pass device udid as first argument."
exit 1
else
DEVICE_ID=$1
fi
DEVICE_PREFERENCES_VALUE='<dict><key>ConnectHardwareKeyboard</key><false/></dict>'
killall Simulator # kill restart the simulator to make the plist changes picked up
defaults write com.apple.iphonesimulator DevicePreferences -dict-add $DEVICE_ID $DEVICE_PREFERENCES_VALUE
open -a Simulator # IMPORTANT
আর্গুমেন্ট হিসাবে নির্বাচিত সিমুলেটারের ইউডিডটি পাস করার সাথে এটি কল করার জন্য এখন এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার এক্সকোড স্কিমটি সম্পাদনা করুন (বা আপনার যদি ইউআই নির্দিষ্ট পরীক্ষা করে থাকে তবে)
- এতে যান: পরীক্ষা> প্রাক-ক্রিয়া
- "+" চিহ্ন> "নতুন রান স্ক্রিপ্ট অ্যাকশন" আলতো চাপ দিয়ে নতুন স্ক্রিপ্ট যুক্ত করুন।
- গুরুত্বপূর্ণ: "ড্রপডাউন থেকে বিল্ড সেটিংস সরবরাহ করুন" এর ভিতরে আপনার প্রধান অ্যাপ্লিকেশন লক্ষ্যটি চয়ন করুন, ইউআই পরীক্ষার লক্ষ্য নয়।
- এখন নীচের পাঠ্য অঞ্চলে নিম্নলিখিত স্ক্রিপ্ট যুক্ত করুন।
পরীক্ষার ভিতরে স্ক্রিপ্ট> প্রাক-ক্রিয়া:
#!/bin/sh
# $PROJECT_DIR is path to your source project. This is provided when we select "Provide build settings from" to "AppTarget"
# $TARGET_DEVICE_IDENTIFIER is the UDID of the selected simulator
sh $PROJECT_DIR/xyzUITests/Scripts/disable-hardware-keyboard.sh $TARGET_DEVICE_IDENTIFIER
# In order to see output of above script, append following with it:
# | tee ~/Desktop/ui-test-scheme-prescript.txt
এটি পরীক্ষা করার সময়:
- সিমুলেটর চালু করুন
- এটির জন্য হার্ডওয়্যার কীবোর্ড সক্ষম করুন
- কীবোর্ড ইন্টারঅ্যাকশন সহ যে কোনও ইউআই পরীক্ষা চালান। সিমুলেটর পুনরায় আরম্ভ এবং হার্ডওয়্যার কীবোর্ড অক্ষম করা আছে পর্যবেক্ষণ । এবং পরীক্ষার কীবোর্ড ইন্টারঅ্যাকশন ঠিকঠাক কাজ করছে। :)